DOBON.NETプログラミング道掲示板
(現在 過去ログ3 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全3記事(1-3 表示) ] <<
0
>>
■34130
/ inTopicNo.1)
RejectChangesについて
▼
■
□投稿者/ samba
一般人(1回)-(2019/02/12(Tue) 18:00:37)
環境/言語:[4.5,win 10 visual studio 2017]
分類:[.NET]
下記のようなDataTableがあります。
各行に対して、追加、削除、値変更などをしています。
dataset.Tables["Table1"].Rows[2].Delete();を実行してから、
この行のみDeleteをキャンセルしたくない場合があります。
RejectChanges()を行うと、変更した部分が全部取り消しになってしまいます。
特定の行をDelete()してしまったあとに、その行だけ復活させたいと
いった場合はどのようにおこなえばよいでしょうか?
DataSet dataset = new DataSet();
DataTable dt = new DataTable("Table1");
// 列を定義します。
dt.Columns.Add("商品番号");
dt.Columns.Add("商品名");
dt.Columns.Add("価格");
DataRow row = null;
// 商品を追加します。
row = dt.NewRow();
row["商品番号"] = "S0001";
row["商品名"] = "あんぱん";
row["価格"] = 100;
dt.Rows.Add(row);
row = dt.NewRow();
row["商品番号"] = "S0002";
row["商品名"] = "メロンパン";
row["価格"] = 105;
dt.Rows.Add(row);
row = dt.NewRow();
row["商品番号"] = "S0003";
row["商品名"] = "カレーパン";
row["価格"] = 110;
dt.Rows.Add(row);
row = dt.NewRow();
row["商品番号"] = "S0004";
row["商品名"] = "いちごジャムパン";
row["価格"] = 115;
dt.Rows.Add(row);
row = dt.NewRow();
row["商品番号"] = "S0005";
row["商品名"] = "チョココロネ";
row["価格"] = 120;
dt.Rows.Add(row);
row = dt.NewRow();
row["商品番号"] = "S0006";
row["商品名"] = "クロワッサン";
row["価格"] = 125;
dt.Rows.Add(row);
// DataSetにdtを追加します。
dataset.Tables.Add(dt);
dataset.Tables["Table1"].AcceptChanges();
// メロンパンの価格を変更します。
dataset.Tables["Table1"].Rows[1]["価格"] = 110;
// クリームパンを追加します。
DataRow datarow = dataset.Tables["Table1"].NewRow();
datarow["商品番号"] = "S0007";
datarow["商品名"] = "クリームパン";
datarow["価格"] = "130";
dataset.Tables["Table1"].Rows.Add(datarow);
// カレーパンを削除します。
dataset.Tables["Table1"].Rows[2].Delete();
// 元に戻します。
dataset.Tables["Table1"].RejectChanges();
引用返信
削除キー/
編集
削除
■34131
/ inTopicNo.2)
Re[1]: RejectChangesについて
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1195回)-(2019/02/12(Tue) 18:36:00)
■
No34130
に返信(sambaさんの記事)
> dataset.Tables["Table1"].Rows[2].Delete();を実行してから、
> この行のみDeleteをキャンセルしたくない場合があります。
> RejectChanges()を行うと、変更した部分が全部取り消しになってしまいます。
DataTable.RejectChanges ではなく
DataRow.RejectChanges を呼び出しましょう。
引用返信
削除キー/
編集
削除
■34132
/ inTopicNo.3)
Re[2]: RejectChangesについて
▲
▼
■
□投稿者/ samba
一般人(2回)-(2019/02/13(Wed) 11:06:46)
ありがとうございます!
解決
済
み!
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-