我正在尝试针对动态填充的gridview命名用户编写排序例程。我在C#代码中有一个语法错误,我试图填充数据表的一行中的列。
for (int j = 0; j <= Users.Rows.Count - 1; j++)
{
DataRow dr = default(DataRow);
GridViewRow row = Users.Rows[j];
dr = dt.NewRow();
DataView dvUsers = new DataView(dt);
for (int i = 0; i <= row.Cells.Count - 1; i++)
{
dr.Item(i) = row.Cells[i].Text;
}
dt.Rows.Add(dr);
}
错误讯息:
System.Data.DataRow不包含“Item”的定义
有人可以帮助使用正确的语法将此值分配给数据行吗?
我是C#
的新手谢谢,
答案 0 :(得分:3)
您只需更改行
即可dr.Item(i) = row.Cells[i].Text;
到
dr[i] = row.Cells[i].Text;
假设数据表中的列与表中单元格的顺序匹配。
()
用于调用方法,而[]
表示indexer。这是编译错误的原因。 <{1}}上没有方法Item
,它是一个索引器。
修改强>
将DataRow
更改为dr.Item[i]
。如评论中所述,dr[i]
是默认索引器,因此您不指定属性,提供给对象本身的索引将应用于Item
索引器。
答案 1 :(得分:2)
试试这个:
dr[i] = row.Cells[i].Text;