🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / C# DEVEXPRESS RMOS / grafiğe tooltip ekleme örnek

1-) C# DEVEXPRESS RMOS - grafiğe tooltip ekleme örnek

 

kaynak : https://documentation.devexpress.com/WindowsForms/18052/Controls-and-Libraries/Chart-Control/Examples/End-User-Interaction/How-to-Use-Chart-Tooltips

 

örnek misal kod :

 

 foreach (DataRow item in dt.Rows)

                {

                    var content = (ViewType)Enum.Parse(typeof(ViewType), pViewType); // ViewType.Bar

                    string itemDeger = item["toplam"].ToString() + " " + item["" + column + ""].ToString();

 

                    series1 = new Series(itemDeger, content); // ViewType.Bar

                    if (destek[Convert.ToInt32(lookSekil.EditValue)] == true) // destekleyenlerde true yapıyorum

                    {

                        ((BarSeriesLabel)series1.Label).Visible = true;

                    }

 

                    SeriesPoint serPoint = new SeriesPoint(item["" + column + ""].ToString(), item["toplam"].ToString());

                    // chartControl1.ToolTipOptions.ShowForSeries = true;

                    //chartControl1.ToolTipOptions.ShowForPoints = true;

                    series1.Points.Add(serPoint);

                    chartControl1.Series.Add(series1);

 

                    chartControl1.CrosshairEnabled = DevExpress.Utils.DefaultBoolean.False;

                    chartControl1.ToolTipEnabled = DevExpress.Utils.DefaultBoolean.True;

 

                    // Show a tooltip's beak

                    ToolTipController controller = new ToolTipController();

                    chartControl1.ToolTipController = controller;

                    controller.ShowBeak = true;

 

                    // Change the default tooltip mouse position to relative position.

                    ToolTipRelativePosition relativePosition = new ToolTipRelativePosition();

                    chartControl1.ToolTipOptions.ToolTipPosition = relativePosition;

 

                    // Specify the tooltip relative position offsets.  

                    relativePosition.OffsetX = 2;

                    relativePosition.OffsetY = 2;

 

                    // Specify the tooltip point pattern.

                    //series1.ToolTipPointPattern = "Bar Series: {A}:{V}";

                    series1.ToolTipPointPattern = "misal misal \n misal misan \n misal misal misal \n {A}:{V}";

                }

 

 

2-) DEVEXPRES DÜŞÜK VERSİYON İSE AŞAĞIDAKİ İŞLEMLERİ YAP

 

KAYNAK : https://www.devexpress.com/Support/Center/Example/Details/E2294/how-to-enable-tooltip-support-for-chartcontrol

 

1. KULLANILIŞI

 

using System;

using System.Data;

using System.Windows.Forms;

using DevExpress.XtraCharts;

using DevExpress.Utils;

using System.Drawing;

using DXSample;

 

namespace docShowSeriesPointTooltip

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private ToolTipController toolTipController1 = new ToolTipController();

 

        private void Form1_Load(object sender, EventArgs e)

        {

            // TODO: This line of code loads data into the 'nwindDataSet.Products' table. You can move, or remove it, as needed.

            //this.productsTableAdapter.Fill(this.nwindDataSet.Products);

            toolTipController1.ReshowDelay = 300;

            toolTipController1.InitialDelay = 300;

            toolTipController1.AddClientControl(chartControl1, new ChartControlToolTipHelper(chartControl1));

            toolTipController1.BeforeShow += new ToolTipControllerBeforeShowEventHandler(OnToolTipControllerBeforeShow);

        }

 

        private void OnToolTipControllerBeforeShow(object sender, ToolTipControllerShowEventArgs e)

        {

            SeriesPoint point = e.SelectedObject as SeriesPoint;

            if (point == null) return;

            DataRowView rowView = point.Tag as DataRowView;

            if (rowView == null) return;

            //if (Convert.ToDouble(rowView["UnitPrice"]) > 25) e.Appearance.BackColor = Color.Blue;

            //else e.Appearance.BackColor = Color.Green;

        }

    }

}

 

2. ChartControlToolTipHelper.cs

 

using DevExpress.Utils;

using System.Drawing;

using DevExpress.XtraCharts;

using System;

using DevExpress.XtraCharts.Native;

using System.Collections.Generic;

using System.Text;

using System.Data;

 

namespace DXSample {

    public class ChartControlToolTipHelperBase :IToolTipControlClient {

        public ChartControlToolTipHelperBase(ChartControl chart, bool useInitialDelay, ToolTipIconType iconType, DefaultBoolean allowHtmlText) {

            if (null == chart) throw new ArgumentNullException("chart");

            fChart = chart;

            fUseInitialDelay = useInitialDelay;

            fIconType = iconType;

            fAllowHtmlText = allowHtmlText;

        }

 

        public ChartControlToolTipHelperBase(ChartControl chart, bool useInitialDelay, ToolTipIconType iconType)

            : this(chart, useInitialDelay, iconType, DefaultBoolean.Default) { }

 

        public ChartControlToolTipHelperBase(ChartControl chart, bool useInitialDelay) : this(chart, useInitialDelay, ToolTipIconType.None) { }

 

        public ChartControlToolTipHelperBase(ChartControl chart) : this(chart, true) { }

 

        private ChartControl fChart;

        protected ChartControl Chart { get { return fChart; } }

 

        private bool fUseInitialDelay;

        public bool UseInitialDelay {

            get { return fUseInitialDelay; }

            set { UseInitialDelay = value; }

        }

 

        private ToolTipIconType fIconType;

        public ToolTipIconType IconType {

            get { return fIconType; }

            set { fIconType = value; }

        }

 

        private DefaultBoolean fAllowHtmlText;

        public DefaultBoolean AllowHtmlText {

            get { return fAllowHtmlText; }

            set { fAllowHtmlText = value; }

        }

 

        protected virtual ToolTipControlInfo GetObjectInfo(Point point) {

            ChartHitInfo hitInfo = Chart.CalcHitInfo(point);

            if (!hitInfo.InSeries) return null;

            return new ToolTipControlInfo(hitInfo.SeriesPoint, GetToolTipText(hitInfo.SeriesPoint),

                GetToolTipCaptionForSeriesPoint(hitInfo.SeriesPoint), !UseInitialDelay, IconType, AllowHtmlText);

        }

 

        protected virtual string GetToolTipText(SeriesPoint point) {

            return "Base tooltip text";

        }

 

        protected virtual string GetToolTipCaptionForSeriesPoint(SeriesPoint point) {

            return string.Empty;

        }

 

        ToolTipControlInfo IToolTipControlClient.GetObjectInfo(Point point) {

            return GetObjectInfo(point);

        }

 

        bool IToolTipControlClient.ShowToolTips { get { return true; } }

    }

 

    public class ChartControlToolTipHelper :ChartControlToolTipHelperBase {

        public ChartControlToolTipHelper(ChartControl chart, bool useInitialDelay, ToolTipIconType iconType, DefaultBoolean allowHtmlText)

            :base(chart, useInitialDelay, iconType, allowHtmlText) { }

 

        public ChartControlToolTipHelper(ChartControl chart, bool useInitialDelay, ToolTipIconType iconType)

            : base(chart, useInitialDelay, iconType) { }

 

        public ChartControlToolTipHelper(ChartControl chart, bool useInitialDelay) : base(chart, useInitialDelay) { }

 

        public ChartControlToolTipHelper(ChartControl chart) : base(chart) { }

 

        protected override string GetToolTipText(SeriesPoint point) {

            DataRowView rowView = (DataRowView)point.Tag;

            //return string.Format("Unit price = {0}\r\nUnits in stock = {1}\r\nQuantity per unit = {2}", rowView["UnitPrice"], rowView["UnitsInStock"], rowView["QuantityPerUnit"]);

            return "DEĞER : "+rowView.Row[0].ToString();

        }

    }

}

 2021 Ocak 18 Pazartesi
 480