找回密码
 立即注册

QQ登录

只需一步,快速开始

szld

论坛元老

38

主题

94

帖子

2万

积分

论坛元老

积分
29978

活字格认证

[已处理] chart 滚动条

szld
论坛元老   /  发表于:2015-1-29 15:10  /   查看:5895  /  回复:3
C1Chart追加横向滚动条时,需要设置ScrollBar的最大值和最小值,我希望ScrollBar的最大值和最小值分别是数据绑定后chart控件(图表展示后)自动匹配的值(c1Chart1.ChartArea.AxisX.Max和c1Chart1.ChartArea.AxisX.Min),现在后台数据 c1Chart1.DataSource绑定后无法取到当前的c1Chart1.ChartArea.AxisX.Max和c1Chart1.ChartArea.AxisX.Min,设置c1Chart1.ChartArea.AxisX.ScrollBar.Visible = true后取到的永远是第一次的Max和Min,设置c1Chart1.ChartArea.AxisX.ScrollBar.Visible = false后取到是前一次的绑定数据的Max和Min,代码如下:
                    //绑定数据源
                    c1Chart1.DataSource = dtChargeList1;
                    // 清空Chart中现有的全部系列
                    ChartDataSeriesCollection dsc = c1Chart1.ChartGroups[0].ChartData.SeriesList;
                    dsc.Clear();
                    c1Chart1.Header.Text = "担当者工数";
                    //予定
                    ChartDataSeries ds = dsc.AddNewSeries();
                    ds.AutoEnumerate = true;
                    ds.X.DataField = "emp_name";
                    ds.Y.DataField = "plan_hours";
                    ds.Label = "予定工数";
                    //実績
                    ds = dsc.AddNewSeries();
                    ds.X.DataField = "emp_name";
                    ds.Y.DataField = "result_hours";
                    ds.Label = "実績工数";
                c1Chart1.ChartArea.AxisX.ScrollBar.Min = c1Chart1.ChartArea.AxisX.Min;
                c1Chart1.ChartArea.AxisX.ScrollBar.Max = c1Chart1.ChartArea.AxisX.Max;
                c1Chart1.ChartArea.AxisX.ScrollBar.Appearance = ScrollBarAppearanceEnum.Normal;
                c1Chart1.ChartArea.AxisX.ScrollBar.Visible = true;
                c1Chart1.ChartArea.AxisX.ScrollBar.Alignment = StringAlignment.Center;
请问,如何在显示滚动条的情况下,让滚动条的最大值和最小值设置成图表展示后的最大值和最小值?

3 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-1-29 16:45:00
沙发
回复 1楼szld的帖子

在数据绑定代码后,直接添加如下代码将滚动条展示出来就可以了:
  1. this.c1Chart1.ChartArea.AxisX.ScrollBar.Visible = true;
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
szld
论坛元老   /  发表于:2015-1-29 18:11:00
板凳
麻烦看一下demo,代码中this.c1Chart1.ChartArea.AxisX.ScrollBar.Visible = false;this.c1Chart1.ChartArea.AxisY.ScrollBar.Visible = false 后分别点击button1和button2能正常切换显示,但this.c1Chart1.ChartArea.AxisX.ScrollBar.Visible = true;this.c1Chart1.ChartArea.AxisY.ScrollBar.Visible = true; 后分别点击button1和button2数据无法正常切换显示,请看一下是什么原因?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-30 10:37:00
地板
回复 3楼szld的帖子

Demo已经测试。
一旦设置了Axis的ScrollBar展示出来,里面会有最大值和最小值。那么当你数据绑定的时候,就会根据这个最大值和最小值展示出来。从而导致不能正常显示。
所以都是先设置数据,然后才设置Scrollbar展示出来的。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部