我想将组的值绑定到DataTable dt1 = new DataTable()。之后,我想将DataTable数据绑定到DataGrid。但我无法做到。当我直接将数据源作为组给予datagrid时,我得到了“复杂数据绑定作为IList或IListSource的数据源接受”的例外。
private void BindGrid()
{
var dt = new DataTable();
dt.Columns.Add("Date",typeof(string));
dt.Columns.Add("Name",typeof(string));
dt.Columns.Add("City",typeof(string));
dt.Columns.Add("Mobile",typeof(string));
dt.Rows.Add("1/11/2014", "David", "Noida", "Bsnl");
dt.Rows.Add("1/11/2014", "James", "Mumbai", "Airtel");
dt.Rows.Add("30/1/2015", "Ramesh", "Pune", "Vodafone");
dt.Rows.Add("30/1/2015", "Kamal", "Kolkata", "Idea");
dt.Rows.Add("15/5/2015", "Mahesh", "Chennai", "Reliance");
var groups = (
from DataRow row in dt.AsEnumerable()
select new
{
date = row.Field<string>("Date")
}
).Distinct();
DataTable dt1 = new DataTable();
dataGrid1.DataSource = groups;
}
答案 0 :(得分:0)
您可以将dt
绑定到DataGrid
,如下所示:
dataGrid1.DataContext = dt.DefaultView;
在您的XAML中:
<DataGrid x:Name="dataGrid1" ItemsSource={Binding}"/>
DefaultView
是DataView
,实现IList
。
就你的其他代码而言,我不知道你在做什么。例如,这一行的目的是什么:
DataTable dt1 = new DataTable();
您对dt1
无效。