WPF DataGrid在某些列

时间:2015-07-01 15:26:12

标签: c# wpf datagrid datatable

我有一个程序对CSV文件进行一些处理,它正在生成一个DataTable作为输出。我将它绑定到DataGrid,如下所示:

<DataGrid Name="GridTable" ItemsSource="{Binding OutputData}" />

一切似乎都很好。生成DataTable,DataGrid得到更新。但莫名其妙的列(类型为Double)似乎没有显示他们的数据。第一列(类型int)工作正常: DataGrid

当我仔细检查DataTable结构时,它就在那里,并且所有正确的类型。我没有例外:

DataTable

数据绑定显然有效,因为它显示了列并且在第一列中具有正确的值。

有没有人遇到过这个?干杯

3 个答案:

答案 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