コード例 #1
0
        /// <summary>
        /// <see cref="MB.WinBase.IFace.CreateDataBinding"/>
        /// </summary>
        public void CreateDataBinding(IClientRuleConfig clientRule, DataSet dsData)
        {
            try
            {
                _DataSet = dsData;

                bool notNullDataSource = judgeIsNullDataSource(clientRule, dsData);

                if (notNullDataSource)
                {
                    List <ColumnPropertyInfo> columnPropertyInfos = getColumnPropertyInfo(clientRule);
                    _ColumnPropertyInfos = columnPropertyInfos;

                    string identity = getIdentity(clientRule);
                    _Identity = identity;

                    if (null != _DefaultChartType)
                    {
                        bindDefaultChart(_DefaultChartType, dsData.Tables[0].Columns, _PagerSettings);
                    }
                    else
                    {
                        ChartViewHelper chartViewHelper = new ChartViewHelper();

                        ChartEventArgs chartEventArgs = new ChartEventArgs();
                        chartEventArgs.ChartType = SeriesChartType.Pie;
                        _ChartEventArgs          = chartEventArgs;

                        List <ChartAreaInfo> chartAreaInfos = chartViewHelper.CreateChartData(dsData, columnPropertyInfos, chartEventArgs, _PagerSettings);

                        _XValueCount             = chartViewHelper.XValueCount;
                        _PagerSettings.PageIndex = 0;
                        _PagerSettings.PageCount = _XValueCount / _PagerSettings.PageSize + 1;
                        showBindingNavigator(_PagerSettings);

                        IChart chart = new PieChart(_BaseChart);
                        chart.AreaDataList = chartAreaInfos;
                    }

                    setNavigationStatus(true);
                    setPageButton();
                }
                else
                {
                    setNavigationStatus(false);
                }
            }
            catch (Exception ex)
            {
                MB.WinBase.ApplicationExceptionTerminate.DefaultInstance.ExceptionTerminate(ex);
            }
        }
コード例 #2
0
        private void prepareChart(ChartEventArgs e, PagerSettings pagerSettings)
        {
            ChartViewHelper chartViewHelper = new ChartViewHelper();

            List <ChartAreaInfo> chartAreaInfos = chartViewHelper.CreateChartData(
                _DataSet, _ColumnPropertyInfos, e, pagerSettings);

            _XValueCount            = chartViewHelper.XValueCount;
            pagerSettings.PageCount = _XValueCount / pagerSettings.PageSize + 1;
            showBindingNavigator(_PagerSettings);

            if (e.ChartType == SeriesChartType.Pie)
            {
                using (IChart chart = new PieChart(_BaseChart))
                {
                    chart.IsPercent    = e.IsPercent;
                    chart.AreaDataList = chartAreaInfos;
                }
            }

            bool isMultiChartArea = false;

            if (e.AnalyseData == ChartViewStatic.R_BTN_COMPARE_NAME)
            {
                isMultiChartArea = true;
            }

            if (e.ChartType == SeriesChartType.Line)
            {
                using (IChart chart = new LineChart(_BaseChart, e.NeedSortXAxis, isMultiChartArea))
                {
                    chart.IsPercent    = e.IsPercent;
                    chart.AreaDataList = chartAreaInfos;
                }
            }

            if (e.ChartType == SeriesChartType.Column)
            {
                using (IChart chart = new ColumnChart(_BaseChart, e.NeedSortXAxis, isMultiChartArea))
                {
                    chart.IsPercent    = e.IsPercent;
                    chart.AreaDataList = chartAreaInfos;
                }
            }

            _ChartEventArgs = e;
        }