0

IENumerable<MyClass>MyClass isの形式で、単純なオブジェクト データソースがあります。

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.

Dictionary<DateTime, Int[]>また、データソースが aとを返そうとしましたがDictionary<DateTime, MyClass>、成功しませんでした。

MSCharts では、複雑なオブジェクトへの単純なデザイン時のデータバインディングはサポートされていませんか? にバインドできましたDictionary<DateTime, int>。最終的に、これは StackedColumn タイプのチャートになります。

この質問に答えないasp.netチャートコントロールを使用した複数列チャートなど、同様の質問を見てきました。

4

1 に答える 1