Linq データの読み取り専用表示だけが必要です。変更を観察する必要はありません。リンクは次のとおりです。
string ZIPCODEFIELDNAME="zip5";
DataTable DATA = (detailedQueryResult as DataTable);
IEnumerable<object> ZIPCODE_SUMMARY;
ZIPCODE_SUMMARY = from z in DATA.AsEnumerable()
group z by z.Field<string>(ZIPCODEFIELDNAME) into g
let list = g.ToList()
select new
{
zip = g.Key,
eecount = list.Count(),
// possible additional aggregate columns here
};
IEnumerable<anonymous object>
これを実行するだけで、コード ビハインドでこれを Telerik RadGridView にバインドできます。
myRadGridView.ItemsSource = ZIPCODE_SUMMARY.ToList();
つまり、XAML でバインドを宣言したり、列を定義したりする必要はありません。Visual Studio に同梱されている WPF DataGrid を使用して、それをどのように実現するのでしょうか? 同じアプローチを使用すると、行区切りのみが表示されます。したがって、列を取得する方法ではなく、リスト内の項目については知っています。
膨大な数の CSV ファイルをインポートするための簡単なユーティリティを作成しようとしていますが、同じ構造やフィールド名を持つファイルが 2 つとなく、セットアップ コードの行数が少ないほど優れています。
PS 私は WPF と Linq を始めたばかりなので、 ReplyToNovice=true を設定してください :-)