У меня есть простой объект источника данных, в виде IENumerable<MyClass>
где MyClass является:DataBind ObjectDataSource с несколькими Y-значения для MSChart
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"/>
Но всякий раз, когда я пытаюсь привязка этого отображения я получаю следующее исключение:
Series data points do not support values of MyClass only values of these types can be used: Double, Decimal, Single, int, long, uint, ulong, String, DateTime, short, ushort.
Я также попытался позволить вернуть мой Datasource Dictionary<DateTime, Int[]>
и Dictionary<DateTime, MyClass>
, безуспешно.
Простой дизайн-привязка времени к сложным объектам, не поддерживаемым для MSCharts? Я смог привязать к Dictionary<DateTime, int>
. В конце концов, это должна быть диаграмма типа StackedColumn.
У меня есть похожие вопросы, такие как Multiple columns chart using asp.net chart control, которые не отвечают на этот вопрос.