我试图在List
中显示DataRows
的DataGrid
像这样:
List<DataRow> grid = new List<DataRow>();
for (int i = 0; i <= dt.Rows.Count; i++)
{
grid.Add(dt.Rows[i]);
}
dataGrid1.ItemsSource = grid;
dt
是从中获取数据的DataTable
。问题是,当我运行代码时,
datagrid
为空。这也不起作用:
datagrid1.DataContext = grid;
编辑:
(xaml)
<DataGrid Name="dataGrid1" />
最佳答案
您不需要List
的DataRows
。您可以简单地:
dataGrid1.ItemsSource = dt.DefaultView;
要么:
dataGrid1.DataContext = dt.DefaultView;
和:
<DataGrid Name="dataGrid1" ItemsSource="{Binding}">
更新:如果您仍然需要
List
的DataRows
:dataGrid1.ItemsSource = dt.AsEnumerable()
.Where(grid.Contains)
.AsDataView();
您还应该更改此设置:
for (int i = 0; i <= dt.Rows.Count; i++)
对此:
for (int i = 0; i < dt.Rows.Count; i++)
关于c# - 在DataGrid中显示DataRows的列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41822895/