- PR -

DataTableの値変更について

1
投稿者投稿内容
BB.NK
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 138
投稿日時: 2004-03-05 13:03
いつもお世話になっております。
C#.NETでWEB開発しております。

DataTableに追加した列の値を変更するにはどのようにしたらよろしいでしょうか?
コード:

DataTable dt = DataSet1.Tables["test"];
dt.Columns.Add("FLG");
for(int i = 0; i < dt.Rows.Count; i++)
{
 if(条件)
 {
  dt.Rows[i].ItemArray[20] = "false";
 }
 else
 {
  dt.Rows[i].ItemArray[20] = "false";
 }
}


とやっていますが、データは設定できていないようです。(=&nbsp;)
どのように設定すればよろしいでしょうか?

#編集
イミディエイトウィンドウで確認するとdt.Rows[i].ItemArray[20]に割り当てできません。
とエラーがでます。

[ メッセージ編集済み 編集者: BB.NK 編集日時 2004-03-05 13:27 ]
無月 重造
ベテラン
会議室デビュー日: 2003/12/18
投稿数: 67
投稿日時: 2004-03-05 13:38
引用:

BB.NKさんの書き込み (2004-03-05 13:03) より:

#編集
イミディエイトウィンドウで確認するとdt.Rows[i].ItemArray[20]に割り当てできません。
とエラーがでます。



ItemArrayプロパティは確かgetしか定義されていないはずです。
なので、値を配列に取り出してから
dt.Rows.RemoveAt(i);
dr=dt.NewRow();
書き込み処理
dt.Rows.InsertAt(dr,i);
としてみてはいかがでしょう?
BB.NK
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 138
投稿日時: 2004-03-05 14:25
お返事ありがとうございます。

それで、書込みの部分が同じで割り当てができません。
というか私がやっているのは、Tableの中のDataRowか別のDataRowの違いで結局同じエラーです。
書込み処理は、どのようにしたらよいでしょうか?
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2004-03-05 14:51
dt.Rows[i]["FLG"] = true;で設定できるはずです。
もしエラーがでたら列のスタイルが読み込み専用になっていないか確認してみてください。
BB.NK
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 138
投稿日時: 2004-03-05 15:13
ありがとうございます!!!
ゆうじゅんさんの仰る通りでできました。

dt.Rows[i]["FLG"]という書き方があったのですね。
1

スキルアップ/キャリアアップ(JOB@IT)