我只需要一个 Linq 数据的只读显示;无需观察变化。这是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 文件,其中没有两个具有相同的结构或相同的字段名称,并且设置代码行越少越好。
PS我刚刚进入WPF和Linq,所以请设置ReplyToNovice=true :-)