C# Wpf Datagrid在绑定时不显示一列
尝试在WPF中绑定C# Wpf Datagrid在绑定时不显示一列,c#,wpf,xaml,datagrid,datatable,C#,Wpf,Xaml,Datagrid,Datatable,尝试在WPF中绑定DataTable时,DataGrid中未显示的第一列值 code private DataTable _dt; public DataTable DataTable { get { return _dt; } set { _dt = value; } } public Controls() { InitializeComponent(); _dt = new DataTable("Table"); _dt.Columns.Add(
DataTable
时,DataGrid
中未显示的第一列值
code
private DataTable _dt;
public DataTable DataTable
{
get { return _dt; }
set { _dt = value; }
}
public Controls()
{
InitializeComponent();
_dt = new DataTable("Table");
_dt.Columns.Add("S.No");
_dt.Columns.Add("Name");
for (int i = 1; i <= 10; i++)
{
_dt.Rows.Add(""+i, "Name "+ i);
}
dataGrid1.DataContext = _dt;
}
替换
\u dt.列。添加(“序号”)代码>至\u dt.列。添加(“序号”)代码>或列添加(“S-No”)
列名称不能包含点或空格字符,数据绑定
不支持c列名称中的点。这将不会在所有方面都起作用,不仅仅是在DataGridAutoGenerateColumns
中,而是在绑定系统中的任何地方
尝试将S.No
更改为仅读取No
,如下代码所示:
_dt = new DataTable("Table");
_dt.Columns.Add("No");
_dt.Columns.Add("Name");
DataRow dr = _dt.NewRow();
for (int i = 1; i <= 10; i++)
{
_dt.Rows.Add(""+i, "Name "+ i);
}
dataGrid1.DataContext = _dt;
\u dt=新数据表(“表”);
_dt.列。添加(“否”);
_dt.列。添加(“名称”);
DataRow dr=_dt.NewRow();
对于(int i=1;i您的信息有点错误,DataGrid列名接受点字符-请参阅OP屏幕的简短部分。但问题是列数据绑定。这就是为什么我建议在前面的回答中更改列名。更改您的信息会混淆OP和其他人。@RajaRaja Cholan:是的,点可以在colu的名称中mn,我自己也尝试过,只是WPF数据绑定引擎不支持DataColumn名称中的点。我将编辑我的答案以使其更清楚。谢谢。卓越,我给出+1作为完整的解决方案。:-)这同样适用于使用“/”字符(例如,“日期/时间”不能用作列名。请改用“日期时间”)。
_dt = new DataTable("Table");
_dt.Columns.Add("No");
_dt.Columns.Add("Name");
DataRow dr = _dt.NewRow();
for (int i = 1; i <= 10; i++)
{
_dt.Rows.Add(""+i, "Name "+ i);
}
dataGrid1.DataContext = _dt;