我有一个程序对CSV文件进行一些处理,它正在生成一个DataTable作为输出。我将它绑定到DataGrid,如下所示:
<DataGrid Name="GridTable" ItemsSource="{Binding OutputData}" />
一切似乎都很好。生成DataTable,DataGrid得到更新。但莫名其妙的列(类型为Double)似乎没有显示他们的数据。第一列(类型int)工作正常:
当我仔细检查DataTable结构时,它就在那里,并且所有正确的类型。我没有例外:
数据绑定显然有效,因为它显示了列并且在第一列中具有正确的值。
有没有人遇到过这个?干杯
答案 0 :(得分:1)
你使用过
吗?<DataGrid.Columns>
<DataGridTextColumn Header="" Binding="{Binding }"/>
</DataGrid.Columns>
它应该处理双打没有问题
答案 1 :(得分:0)
Marcin上面的回答让我尝试单独绑定列,这使我在这里:programmatically add column & rows to WPF Datagrid
解决方案是:
if (OutputData != null)
{
foreach (DataColumn col in OutputData.Columns)
{
GridTable.Columns.Add(
new DataGridTextColumn
{
Header = col.ColumnName,
Binding = new Binding(string.Format("[{0}]", col.ColumnName))
});
}
GridTable.DataContext = OutputData;
}
答案 2 :(得分:0)
我知道已经很长时间了,但是如果你使用db first integration,那么可以在datagrid和excel文件中显示可空值。你基本上可以将你的nullable转换为int