Data binding 将具有多个Y值的ObjectDataSource数据绑定到MSChart
我有一个简单的对象数据源,形式为Data binding 将具有多个Y值的ObjectDataSource数据绑定到MSChart,data-binding,mschart,design-time,Data Binding,Mschart,Design Time,我有一个简单的对象数据源,形式为IENumerable,其中MyClass是: class MyClass(){ public DateTime Key; public Int Value1; public Int Value2; public Int Value3; } 我希望在设计时使用ObjectDataSource对其进行数据绑定,而不是以声明方式。 我希望这是: <asp:Chart runat="server" DataSourceID="da
IENumerable
,其中MyClass是:
class MyClass(){
public DateTime Key;
public Int Value1;
public Int Value2;
public Int Value3;
}
我希望在设计时使用ObjectDataSource对其进行数据绑定,而不是以声明方式。
我希望这是:
<asp:Chart runat="server" DataSourceID="datasource">
<Series>
<asp:Series XValueMember="Key" YValueMembers="Value1"/>
<asp:Series XValueMember="Key" YValueMembers="Value2"/>
</Series>
</asp:Chart>
<asp:ObjectDataSource ID="datasource" runat="server" SelectMethod="DataObjectMethodName" TypeName="DataObjectClassName"/>
没有回答这个问题。这些问题似乎不太受欢迎
我无法实现任何真正的数据绑定。为了能够继续使用设计师,我只是使用了一个黑客。我在设计器中添加了一个系列,这样我就可以使用拖放编辑器了,这样我的生活就轻松了。我从“模板”系列中复制了值
//将one designer系列视为模板
var template=chartfores.Series.First();
//只是用于美化设计师和添加演示设置
Chartfires.Series.Clear();
foreach(系列var系列)
{
var chartSeries=chartFares.Series.Add(Series.Name);
//从模板复制设置(更好的克隆机制也很有用)
chartSeries.ChartType=模板.ChartType;
chartSeries.ToolTip=template.ToolTip;
chartSeries.PostBackValue=模板.PostBackValue;
foreach(系列中的var点。数据)
{
chartSeries.Points.AddXY(Points.Period,Points.Count);
}
}