すでにある DataTable に空白行を挿入したく displayTbl.Rows.InsertAt を試してみましたが、「この行は既にこのテーブルに属しています。'」というエラーが返ってきます。
ググってみてもこの方法でできるというサイトもあれば、ImportRow() でぶん回すべきと書いてあるものもあります。InsertAtがお手軽のように思えたので固守してトライしましたが、これって単に私のやり方がまずいだけですか?
それとも、つかえないってこと?
ImportRow() でぶん回すしかないなら仕方ないですが・・・件数が多いとなんか大変そう!?
DataTable DataTable 表示中のテーブル↓そのヘッダー
× string[] headerTxt ヘッダー名がカンマでつないである
〇 List<string> headerTxt ヘッダー名がカンマでつないである - 修正しました
C#
1 DataTable tbl = new DataTable(); 2 3 for (int i = 0; i < headerTxt[0].Split(',').Length; ++i) 4 { 5 // DataTable に行を定義する 6 if (i == 0) 7 tbl.Columns.Add(headerTxt[0].Split(',')[0], typeof(int)); 8 else 9 tbl.Columns.Add(headerTxt[0].Split(',')[i], typeof(string)); 10 } 11 12 DataRow[] dtRows = displayTbl.Select(); 13 int cnt = 0; 14 foreach (DataRow dr in dtRows) 15 { 16 tbl.ImportRow(dr); 17 if(rowIndex == cnt) 18 displayTbl.Rows.InsertAt(dr, rowIndex + 1); <-ここで出る 19 ++cnt; 20 }
Windows11 VS2019 C# WPF




回答1件
あなたの回答
tips
プレビュー