- - PR -
行追加と行編集を同じ文で
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-08-27 19:43
いつもありがとうございます。 VB2005のDataTableの行追加と行編集の 下記の文の※の部分を何とか1つの文にできないでしょうか? というのも、セット項目が増えると同じような文を2つずつ 書かなくてはいけないからです。 行追加 row = DS.Tables("tbl").NewRow row.Item("NO") = intNO ※ DS.Tables("tbl").Rows.Add(row) 行編集 DS.Tables("tbl").Rows(0)("NO") = intNO ※ ご教授頂ければ幸いです。 | ||||||||||||
|
投稿日時: 2007-08-27 20:50
NewRow()で返されるもの自体がDataRowだからできないこともないと思うが。
今の方がわかりやすくていい。 なんでもかんでも簡素化厨とかけっこういるけど俺らからするとうざいんだよね。 せめて関数化とかその程度にとどめておいてくれないかね。 | ||||||||||||
|
投稿日時: 2007-08-27 21:29
さかもとと申します。
どうなさりたいのか良く分かりませんが、追加と更新を同時に行いたい(行の有無を判断してなかったら追加、あったら更新)ということでしょうか・・・? _________________ ------------------------------------------ 拝啓、さかもとと申します♪ | ||||||||||||
|
投稿日時: 2007-08-28 00:00
もしかしたら、
DataRowCollection.Add(Object[]) ですか? | ||||||||||||
|
投稿日時: 2007-08-28 10:45
こういうことでしょうか?
row = DS.Tables("tbl").Rows(0) row.Item("NO") = intNO | ||||||||||||
|
投稿日時: 2007-08-28 11:10
太字にした部分が似たようなコードを2回書くことになるので 嫌だというお話ですよね? DS.Tables("tbl").Rows(0) というのは、DataRow 型ですから、 こういうまとめ方はできます。
ただ、追加かどうかを2回判定しなきゃいけないのが気になりますし、 見にくいですよね。 なので別メソッドにして
の方がよいと思います。 いずれにせよポイントとなるのは、 よっし〜。さんも書いてらっしゃるように、 DS.Tables("tbl").Rows(0) というのが DataRow 型だというところですね。 | ||||||||||||
|
投稿日時: 2007-08-28 11:43
皆さん、いろいろありがとうございます。
欲しかったことは、KIさんの書かれたこと ズバリです。 ただ If 追加の場合 Thenを 今はcomboBoxで選んだ内容で判断していますが できれば DS.Tables("tbl").Rows(添字の変数)が無しならば 行追加、有れば行編集としたいのですが 可能でしょうか? | ||||||||||||
|
投稿日時: 2007-08-28 12:48
DS.Tables("tbl").Rows.Find(key) で row の有無が確認できます。
|
1|2|3
次のページへ»