- PR -

DataGridでのDataViewの更新

1
投稿者投稿内容
e3000
会議室デビュー日: 2004/02/06
投稿数: 19
お住まい・勤務地: 東京
投稿日時: 2004-03-30 15:09
DataGridの編集モードから、テンプレートコントロールの値を更新したいのですが、
うまくいきません。
何か問題ありますでしょうか?
下記
-------------------------------------------------------------------------------
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As_ System.Web.UI.WebControls.DataGridCommandEventArgs) Handles_ DataGrid1.UpdateCommand
'キーの値を取得する()
Dim Keyvalue As Object
Keyvalue = DataGrid1.DataKeys(e.Item.ItemIndex)

'そのキーを持つDataRowViewオブジェクトを見つける
Dim orgSort As String = DataView1.Sort
DataView1.Sort = "ID"
Dim dRowview As DataRowView() = DataView1.FindRows(Keyvalue)
DataView1.Sort = orgSort

If dRowview.Length = 1 Then
'見つかったとき
'値をDataRowViewオブジェクトに格納する
With dRowview(0)
.BeginEdit()
.Item("roll") = CType(e.Item.FindControl("drp_roll"), DropDownList).SelectedValue
.Item("name") = CType(e.Item.FindControl("txt_name"), TextBox).Text
.Item("Date") = CType(e.Item.FindControl("txt_Date"), TextBox).Text

End With
'更新する
SqlDataAdapter1.Update(DataView1.Table.DataSet)

End If

DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()

End Sub
-------------------------------------------------------------------------------
うまくコントロールの値がとれてないようです。
編集モードでテンプレートコントロールに値を入力して
更新ボタンを押下すると、クリアされて編集モードが終了してしまいます。

いつも初歩的質問で申し訳ありませんが、
よろしくお願いします。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-03-30 16:04
引用:

With dRowview(0)
.BeginEdit()
.Item("roll") = CType(e.Item.FindControl("drp_roll"), DropDownList).SelectedValue
.Item("name") = CType(e.Item.FindControl("txt_name"), TextBox).Text
.Item("Date") = CType(e.Item.FindControl("txt_Date"), TextBox).Text

End With
'更新する
SqlDataAdapter1.Update(DataView1.Table.DataSet)



NAL-6295です。

BeginEditしかしてないからかもしれません。

確信的にそうしてるのか、ケアレスミスなのかわからないので両方書きますが
確信的にそうしてるなら、オンラインマニュアルのDataRowView.BeginEditの項を
ケアレスミスなら、自分のコードを
見直すと良いかもしれません。


[ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-03-30 16:06 ]
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2004-03-30 16:31
もしかしてDataView1の件数が0になっていませんか
もし0件ならDataView1にデータを読み込む部分を見直してみたらどうでしょうか

少なくともPageLoad時点ではDataView1を再構築しないといけません
e3000
会議室デビュー日: 2004/02/06
投稿数: 19
お住まい・勤務地: 東京
投稿日時: 2004-03-30 16:53
ゆうじゅんさん、NAL-6295さん
ありがとうございました!

見直してみたところ、
DataViewでの構築部分が間違っていました。
ありがとうございました。

ケアレスミスだらけで恥ずかしいですが・・。
1

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