web-dev-qa-db-ja.com

特定のDataTableセルに値を追加する

特定のDataTableセルに値を追加できるかどうか疑問に思っていますか?

既存のdataTableがあり、新しい列を追加するとします。既存の列の行を上書きせずに、新しい列の行に追加するにはどうすればよいですか?

私の知る限り、特定のセルに追加する方法はありません(間違っていない限り)。

  dt.Rows.Add(a, b, c, d)

ここで、a、b、c、およびdは文字列値です。それで、d列に追加したい場合はどうすればよいですか?

任意の助けをいただければ幸いです。

19
Winz

1つの値のみを設定したい完全に新しい行である場合、行全体を追加してから個別の値を設定する必要があります。

DataRow dr = dt.NewRow();
dr[3].Value = "Some Value";
dt.Rows.Add(dr);

それ以外の場合は、既存の行を見つけてセル値を設定できます

DataRow dr = dt.Rows[theRowNumber];
dr[3] = "New Value";
21
pinkfloydx33

これを試して:

dt.Rows[RowNumber]["ColumnName"] = "Your value"

例:値5(番号5)を1行目および列名「インデックス」に追加する場合は、これを実行します

dt.Rows[0]["index"] = 5;

DataTableの行は0で始まると思います

7
Teekai

それはできないと思いますが、少なくとも更新することはできます。 DataTableの既存の行を編集するには、編集するDataRowを見つけて、更新された値を目的の列に割り当てる必要があります。

例、

DataSet1.Tables(0).Rows(4).Item(0) = "Updated Company Name"
DataSet1.Tables(0).Rows(4).Item(1) = "Seattle"

ソースはこちら

1
Pedigree

私がそうであったように、誰かがこのための更新された正しい構文を探しているなら、以下を試してください:

Example:
dg.Rows[0].Cells[6].Value = "test";
0
MX313

新しい行を追加し、特定の列にのみデータを入れたいということですか?以下を試してください:

var row = dataTable.NewRow();
row[myColumn].Value = "my new value";
dataTable.Add(row);

ただし、データなのでtableですが、すべての列に何らかの種類のデータが常に存在します。ただDBNull.Valueあなたが想像するどんなデータ型の代わりに。

0
lc.