2017-12-22 14 views
0

Excelテーブルから読み込まれたデータテーブルがあり、うまくいきます。私はテーブルから重複を削除したいと思います。次に、新しい行を追加したいところです。新しい行を追加すると、全体がうごめくようになります。コードが実行され、エラーは返されません。 (私はTry/Catchステートメントを用意しており、決してトリガーされません)。asp.netデータテーブルの行を追加してもエラーは返されません。

新しい行をデータテーブルに追加しようとするコードは次のとおりです。

 newDRow = dtTemp.NewRow 
     newDRow("QTY") = Convert.ToInt32(dupList(1)) 
     newDRow("GRATING-ID") = newMarkNum 
     newDRow("GRATING SPAN DECIMAL INCHES") = Convert.ToDecimal(dupList(2)) 
     newDRow("GRATING WIDTH DECIMAL INCHES") = Convert.ToDecimal(dupList(3)) 
     Try 
      dtTemp.Rows.Add(newDRow) 
     Catch ex As Exception 
      message = HttpUtility.JavaScriptStringEncode(ex.Message) 
     End Try 

データテーブルはdtTempと呼ばれます。私はブレークポイントを入れて、それぞれの新しい行の列が正しいデータを取得していることを確認できます。

Dim dtTemp As DataTable = dtInput.Copy() 

私はちょうどすることができます:

Private Function RemoveDuplicate(ByVal dtInput As DataTable) As DataTable 

私はそのようにようdtTempテーブルにコピーdtInputテーブルを行を持って次のように

元のデータテーブルには、この関数に渡されています行挿入が機能しない理由を調べているようです。関数が実行され、データグリッドビューに値が入力されると、重複する行を削除した結果が表示されますが、新しい行はテーブルにありません。

アイデア?

更新#1 -------------- 挿入が起こったはずだが表示されなかった後にテーブルの内容を確認しました。 32.875 | | 42

そして

7を言うライン| 1121-G31 |

2を1185-G33 | 22 | 22

しかし、彼らは以下のとおりです。そこに書かれた行でなければなりませんいない。

enter image description here

+0

このコードは正常です。追加直後にデバッガのdtTempの内容を確認しましたか? – GMan80013

+0

これは重複しているかもしれませんが、あなたはこの質問を見ましたか? https://stackoverflow.com/questions/12301902/add-row-to-gridview-in-visual-basic – Mackija

+0

はい、それは私がやろうとしていることではありません。私はdtable.AcceptChanges()がコード内にあり、私はそれを持っていないので、私はそれを追加したが、それは違いをもたらさなかったことが分かった。 – mbcharney

答えて

0

だから、私は何をやっていた愚かな過ちを考え出しました。

データテーブルに新しい行を追加しているForループの外に、新しいデータ行ステートメントがあります。

forループの内部に移動しました。

関連する問題