0

この構造を持つ linq クエリからの var t があります。

    [0] = { Type = "K", Count = 1 }
    [1] = { Type = "Z", Count = 8 }

そして今、それをエレガントにチャートにバインドしたいと思います(foreachなし)。私はこのようなことをしようとします:

    series1.Points.DataBindXY(t. ????, t.????);

しかし、var の「最初の列」と「2 番目の列」を取得する方法がわかりません。助けてください

編集:私のlinqクエリ:

                var t= (from oAction in Actions
                    group oAction by oAction.Type.Name into g
                    select new { Type = g.Key, Count = g.Count() }).ToArray();
4

2 に答える 2

0

私は ASP.Net チャートを扱ったことがないので、これが機能するかどうかはわかりませんが、次のようにすべきだと思います。

series1.Points.DataBindXY(t.Select(x => x.Type), t.Select(x => x.Count));

これにより、値のコレクションがTypex 値として割り当てられ、値のコレクションがCounty 値として割り当てられます。

于 2011-11-19T16:13:47.643 に答える
0
var t= (from oAction in Actions
                    group oAction by oAction.Type.Name into g
                    select new { Type = g.Key, Count = g.Count() }).ToArray();

さて、あなたは「匿名」タイプを返しています。確実に t.Type または t.Count にアクセスできますが、キャッチは、この LINQ クエリが定義されているメソッド内でのみこれを実行できることです。匿名型のスコープは、それが定義されているメソッドに限定されます。「動的」キーワードを使用すると、この制限を克服できます。しかし、私はこれを試していないので、100%確実ではありません。

于 2011-11-19T16:30:06.423 に答える