system.data.datarowview 绑定到 DataTable 时在 DataGrid 的每一行中
system.data.datarowview in each row of DataGrid when binding to DataTable
我正在尝试将 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}" />
产生:
我似乎无法弄清楚如何显示单元格的值而不是 System.Data.DataRowView
- 我在想也许我需要某种 DataTemplate
但我不确定我会怎么做设置这个。
我在网上看了很多其他帖子,都没有成功。
如果有人知道这个问题,我将不胜感激。谢谢!
如果您使用有效的列名,它应该可以工作,例如 "x":
public RunNumberModel() //Constructor
{
RunNumbers.Columns.Add("x", typeof(string));
RunNumbers.Columns["x"].ReadOnly = true;
RunNumbers.Rows.Add("Test");
}
我正在尝试将 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}" />
产生:
我似乎无法弄清楚如何显示单元格的值而不是 System.Data.DataRowView
- 我在想也许我需要某种 DataTemplate
但我不确定我会怎么做设置这个。
我在网上看了很多其他帖子,都没有成功。
如果有人知道这个问题,我将不胜感激。谢谢!
如果您使用有效的列名,它应该可以工作,例如 "x":
public RunNumberModel() //Constructor
{
RunNumbers.Columns.Add("x", typeof(string));
RunNumbers.Columns["x"].ReadOnly = true;
RunNumbers.Rows.Add("Test");
}