- PR -

DataTable にカラム追加

1
投稿者投稿内容
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-08-05 16:58
VB.NETでWeb開発をしています。
DTにはすでにデータがあり、新しくカラムを追加し、そこに
データをセットしたいのですが、どうプログラムを書いたら良いでしょうか?
よきアドバイスをお願いします。

Dim DT As DataTable = GetDataTable(Cmd)

'カラム追加
DT.Columns.Add("RegionID")

'ここでデータをセットしたいのですが。
NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-08-05 17:04
カラムを追加した後で

項目を追加したい行(Row)に対して代入してやるだけでいいはずです。

DT.Rows(行番号)(カラム番号) = XXX

damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-08-05 17:27
これで出来たのですが、作成したDTをDataGridにbindしたのですが
下記の関数の中に入って来た時、下記のIF文が判定されていません。
なぜでしょうか?
よろしくお願いします。

If e.Item.ItemType = ListItemType.Item Xor e.Item.ItemType = ListItemType.AlternatingItem Then

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound


DataGrid1.DataSource = DT
DataGrid1.DataBind()




引用:

NYRLさんの書き込み (2003-08-05 17:04) より:
カラムを追加した後で

項目を追加したい行(Row)に対して代入してやるだけでいいはずです。

DT.Rows(行番号)(カラム番号) = XXX



NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-08-05 17:52
私のところで試してみたら正しく判定されましたよ。
DataGrid1.DataSource = DT
DataGrid1.DataBind()


Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
が複数回呼び出され。

ブレイクポイントをおいて試したところ
e.Item.ItemType は
Header
Item
AlternatingItem
...
Item
AlternatingItem
Item
Footer

という風にイベントは起きて条件式の中にも入っていきましたよ。
1

スキルアップ/キャリアアップ(JOB@IT)