绑定到DataTable时DataGrid每行中的system.data.datarowview

时间:2018-09-28 11:36:00

标签: c# wpf datatable wpfdatagrid

我正在尝试将DataTable绑定到wpf中的DataGrid

这是我的代码:

我的模特:

private DataTable _runNumbers;
public DataTable RunNumbers
{
    set
    {
        _runNumbers = value;
    }
    get
    {
        if (_runNumbers == null) { _runNumbers = new DataTable("RunNumbers"); }
        return _runNumbers;
        }
    }


public RunNumberModel() //Constructor
{
    RunNumbers.Columns.Add(" ", typeof(string));
    RunNumbers.Columns[" "].ReadOnly = true;
    RunNumbers.Rows.Add("Test");
}

我的观点:

<DataGrid Grid.Row="1" Grid.Column="1" Width="400" HorizontalAlignment="Center" Margin="20" ItemsSource="{Binding RunNumbers.RunNumbers}" />

哪个产生:Application

我似乎无法弄清楚如何显示单元格的值,而不是System.Data.DataRowView-我在想也许我需要某种DataTemplate,但是我不确定如何设置此值上。

我在网上查看了许多其他帖子,但没有成功。

如果有人知道这个问题,我将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用有效的列名(例如“ x”),它将起作用:

public RunNumberModel() //Constructor
{
    RunNumbers.Columns.Add("x", typeof(string));
    RunNumbers.Columns["x"].ReadOnly = true;
    RunNumbers.Rows.Add("Test");
}