Example #1
0
        private void ChartMouseClick(object sender, MouseEventArgs e)
        {
            var flexChart = sender as FlexChartBase;
            var hitInfo   = flexChart.HitTest(new Point(e.X, e.Y));

            if (hitInfo != null && hitInfo.Distance < 2)
            {
                if (manager != null)
                {
                    manager.DrillDown(hitInfo.PointIndex);
                }
            }
        }
        private async void ChartMouseClick(object sender, MouseEventArgs e)
        {
            if (manager == null)
            {
                return;
            }

            if (e.Button == MouseButtons.Right)
            {
                manager.DrillUp();
            }
            else
            {
                var flexChart = sender as FlexChartBase;
                var hitInfo   = flexChart.HitTest(new Point(e.X, e.Y));
                if (hitInfo != null && hitInfo.Distance < 2)
                {
                    _currentValue = hitInfo.X;

                    var tooltip = flexChart.ToolTip.Content;
                    flexChart.ToolTip.Content = "Please wait while the details are being fetched";
                    flexChart1.Cursor         = Cursors.WaitCursor;

                    Console.WriteLine("Start fetching details");

                    IEnumerable <object> data = await FetchDataAsync(manager.DrillDownLevel);

                    flexChart.Enabled = true;
                    Console.WriteLine("Fetching details completed");
                    flexChart.ToolTip.Hide(flexChart1);
                    flexChart.ToolTip.Content = tooltip;
                    flexChart1.Cursor         = Cursors.Default;
                    manager.DrillDown(data);
                }
            }
        }