C#语法问题 - 尝试向数据行添加值

时间:2012-05-01 16:22:33

标签: c# gridview datarow

我正在尝试针对动态填充的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#

的新手

谢谢,

2 个答案:

答案 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;