DOBON.NETプログラミング道掲示板

■34130 / 親階層)  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();
マルチポストを報告
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: RejectChangesについて /魔界の仮面弁士
 
上記関連ツリー

Nomalアイコン RejectChangesについて / samba (19/02/12(Tue) 18:00) #34130 ←Now
Nomalアイコン Re[1]: RejectChangesについて / 魔界の仮面弁士 (19/02/12(Tue) 18:36) #34131
  └Nomalアイコン Re[2]: RejectChangesについて / samba (19/02/13(Wed) 11:06) #34132 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -