【问题标题】:Binding a DataTable to a DataGrid shows empty rows将 DataTable 绑定到 DataGrid 会显示空行
【发布时间】:2015-05-06 12:56:33
【问题描述】:

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

当我调试我的数据表(使用那个: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' 在“对象”“DataRowView”(HashCode=32322646)上找不到属性。 绑定表达式:路径=07/08/2014; DataItem='DataRowView' (哈希码=32322646);目标元素是'TextBlock'(名称='');目标 属性是“文本”(类型“字符串”)

制作数据表时可能出错?

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;
}

【问题讨论】:

  • 也许你可以试试 {Binding Table.DefaultView} ?
  • 同样的问题,空行..

标签: c# wpf xaml datagrid datatable


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 2013-07-28
  • 2013-12-09
  • 2012-04-15
  • 2012-11-10
  • 2018-02-07
  • 2023-04-06
  • 2011-10-12
  • 2014-01-13
相关资源
最近更新 更多