问题描述
我新建一个winform应用程序,拖了一个chart控件。然后在Form1的构造函数里面敲入以下代码publicForm1(){InitializeComponent();DataTabledt=default(DataTable);chart1.DataSource=dt;chart1.Series[0].YValueMembers="grade";chart1.Series[0].ToolTip="自己成绩";chart1.Series[0].XValueMember="time";chart1.Series[0].LegendToolTip="个人成绩";chart1.Series[1].YValueMembers="avgs";chart1.Series[1].ToolTip="ToolTip平均成绩";chart1.Series[1].XValueMember="time";chart1.Series[1].LegendToolTip="平均成绩";chart1.DataBind();//既然都已经设定了DataSource,为什么还要调用DataBind}
很奇怪的是,设计的时候视图如下左图所示,而运行起来以后,效果如右图所示。看起来我设置的XValueMember,ToolTip等等完全没有起到效果啊,图上除了LegendToolTip能在Legend旁边显示以外,什么轴也没有。这是为什么呢?
解决方案
解决方案二:
看看数据源有没有数据。datasource之后需要bind,因为datasource中的数据是可以变动的。
解决方案三:
引用1楼devmiao的回复:
看看数据源有没有数据。datasource之后需要bind,因为datasource中的数据是可以变动的。
我的疑问在于既然已经在datasource设定为一个成员了,那么datasource变化并不能立刻引起其属主控件的变化,而必须这个属主控件显示的调用一次自身的DataBind()函数,前台内容才会根据datasource刷新?我不知道我理解的和你说的是否一致?谢谢。
解决方案四:
而且,即便是现在没有数据,X轴和Y轴为什么不显示呢?没有数据的时候轴就是不显示的吗,这是chart控件自身的设计?
解决方案五:
自己顶一下!求答案!