0

我正在尝试针对动态填充的 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 不包含“项目”的定义

有人可以帮助使用正确的语法将此值分配给数据行吗?

我是 C# 新手

谢谢你,

4

2 回答 2

3

你只需要换行

dr.Item(i) = row.Cells[i].Text; 

dr[i] = row.Cells[i].Text; 

假设数据表中的列与表中单元格的顺序相匹配。

()用于调用方法,while[]表示索引器。这就是编译错误的原因。Item上没有方法DataRow,它是一个索引器。

编辑

改为。dr.Item[i]_ dr[i]正如评论中解释的那样,Item是默认索引器,因此您不指定属性,提供给对象本身的索引将应用于Item索引器。

于 2012-05-01T16:23:59.813 回答
2

尝试这个:

dr[i] = row.Cells[i].Text;

于 2012-05-01T17:52:44.173 回答