将DataTable绑定到DataGrid会显示空行

时间:2015-03-05 08:19:15

标签: c# wpf xaml datagrid datatable

我想将数据表绑定到wpf中的datagrid。此数据网格显示列标题右侧,右侧行数,但行为空。

当我调试我的数据表(用https://stackoverflow.com/a/18353683/4632606)时,我有一个正确的数据表:

--- DebugTable() ---
07/08/2014           | 
---------------------|-
0,0186               | 
0,035                | 
---------------------|-

我的数据网格有正确的标题“07/08/2014”和2个空行。

这是我的DataGrid Xaml:

<DataGrid AutoGenerateColumns="true" ItemsSource="{Binding Table}"></DataGrid>

我缺少什么?

更新 我在输出中看到了这一点:

  

System.Windows.Data错误:40:BindingExpression路径错误:'07'   在'object'''DataRowView'(HashCode = 32322646)'上找不到属性。   BindingExpression:路径= 7月8日/ 2014;的DataItem = 'DataRowView的'   (的HashCode = 32322646); target元素是'TextBlock'(Name ='');目标   property是'Text'(类型'String')

制作DataTable时可能出错?

public DataTable Table { get { return this.GetTable(); } }

private DataTable GetTable()
{
    DataTable table = new DataTable();
    foreach (var controle in Controles)
    {
        table.Columns.Add(new DataColumn(controle.Date.ToShortDateString()));
    }
    DataRow rowMoyenne = table.NewRow();
    DataRow rowEtendue = table.NewRow();
    for (int i = 0; i < table.Columns.Count; i++)
    {
        DataColumn column = table.Columns[i];
        rowMoyenne[column] = Controles[i].Moyenne.ToString();
        rowEtendue[column] = Controles[i].Etendue.ToString();
    }
    table.Rows.Add(rowMoyenne);
    table.Rows.Add(rowEtendue);
    return table;
}

1 个答案:

答案 0 :(得分:1)