VB.NETのDataTableの行を更新するにはどうすればよいですか?
質問
次のコードがあります:
Dim i As Integer = dtResult.Rows.Count
For i = 0 To dtResult.Rows.Count Step 1
strVerse = blHelper.Highlight(dtResult.Rows(i).ToString, s)
' syntax error here
dtResult.Rows(i) = strVerse
Next
現在の行に strVerse
を追加します。
何が間違っているのですか?
解決
実行中の問題は、行オブジェクト全体を置き換えようとしていることです。 DataTable APIでは許可されていません。代わりに、行オブジェクトの列の値を更新する必要があります。または、新しい行をコレクションに追加します。
特定の行の列を更新するには、名前またはインデックスでアクセスできます。たとえば、次のコードを記述して、列" Foo"を更新できます。値strVerseになる
dtResult.Rows(i)("Foo") = strVerse
他のヒント
インデックス、名前、およびいくつかのその他の方法:
dtResult.Rows(i)("columnName") = strVerse
最初に DataTable
にいくつかの列があることを確認する必要があります...
Dim myRow() As Data.DataRow
myRow = dt.Select("MyColumnName = 'SomeColumnTitle'")
myRow(0)("SomeOtherColumnTitle") = strValue
上記のコードは、DataRowをインスタンス化します。ここで、「dt」ははDataTableで、任意の列を選択することで行を取得します(逆に聞こえますが)。次に、任意の列の値を設定します(最初の行、または「quotemyRow(0)"」を選択します)、任意の列に
所属していません StackOverflow