huafeng_jiang 发表于 2014-6-11 14:32:30

chartcontrol柱状图表鼠标停留显示类型如何设置

大家好,我的图表在轴上显示的是合格率(百分比),但是为什么鼠标停留时的显示类型是小数呢。有谁知道在哪设置的吗


代码如下:
sqlWhere = GetSearchSql();
            dsProd = bllProd.GetLotNumberList(sqlWhere);
            chartBar.Series.Clear();
            this.chartBar.DataSource = dsProd.Tables;
            gridControl1.DataSource = dsProd.Tables;
            if (dsProd.Tables != null && dsProd.Tables.Rows.Count > 0)
            {
                chartBar.Series.Add(CreateSeries("合格数", dsProd.Tables, DevExpress.XtraCharts.ViewType.Bar, NumericFormat.General, "PassQuantity"));
                chartBar.Series.Add(CreateSeries("不良数", dsProd.Tables, DevExpress.XtraCharts.ViewType.Bar, NumericFormat.General, "NgQuantity"));

                chartBar.Series.Add(CreateSeries("合格率", dsProd.Tables, DevExpress.XtraCharts.ViewType.Line, NumericFormat.Percent, "PassRate"));
                chartBar.Series.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
                chartBar.Series.Label.PointOptions.ValueNumericOptions.Precision = 1;
                chartBar.Series.View.Color = Color.Red;
                CreateAxisY(chartBar.Series);
                ((XYDiagram)chartBar.Diagram).SecondaryAxesY.Clear();
                CreateAxisY(chartBar.Series);
                ((XYDiagram)chartBar.Diagram).SecondaryAxesY.Label.NumericOptions.Format = NumericFormat.Percent;
                ((XYDiagram)chartBar.Diagram).SecondaryAxesY.Label.NumericOptions.Precision = 1;

heimuheimulm 发表于 2014-6-11 17:50:07

你设置了2个Y轴,应该是你的合格率的单位的是左边Y轴的原因,左边Y轴刻度都是0,其实是不到1引起的。想办法读取右边Y轴,具体怎么做抱歉我也不知道,2个Y轴的情况我也没搞定。

再不行:
这个有可能是你PassRate保存在数据库中的值的问题,如果可以,写数据库的时候就把值转换好再存入数据库,比如说97.1%,再不行找不到原因就把PassRate读数据时单独处理一下再填入Chart,当然这样效率不会太好。
但是总比卡在那里交不了差的强。

huafeng_jiang 发表于 2014-6-13 09:57:21

heimuheimulm 发表于 2014-6-11 17:50
你设置了2个Y轴,应该是你的合格率的单位的是左边Y轴的原因,左边Y轴刻度都是0,其实是不到1引起的。想办法 ...

但是我显示的值是右边Y轴的值呀,只是显示的是小数,不是百分比。
页: [1]
查看完整版本: chartcontrol柱状图表鼠标停留显示类型如何设置