0

動的に入力されたグリッドビュー名Usersに対してソートルーチンをコーディングしようとしています。データテーブルの行に列を入力しようとしている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#は初めてです

ありがとうございました、

4

2 に答える 2

3

行を変更するだけです

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

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

データテーブルの列がテーブルのセルの順序と一致すると仮定します。

()メソッドを呼び出すために使用され、インデクサー[]を示します。これがコンパイルエラーの理由です。にメソッドはありません。インデクサーです。ItemDataRow

編集

に変更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 に答える