- - PR -
DataGridのCommandColumnについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-11-20 22:55
はじめまして
現在DataGridを使ってDBの更新画面を作成しています EditCommandColumnとDeleteCommandColumnを使用しているのですが、うまく動きません EditCommandColumnの編集ボタンを押した時に、DataGrid上のDeleteCommandColumnのボタンを使用不可の状態にしたいのですが・・・ Dim cmdDelete as Button = DirectCast(e.item.Cells(2).Control(0),Button) cmdDelete.Enable=False で出来ると思い、やってはみたのですが無理でした・・・ |
|
投稿日時: 2003-11-21 05:36
カレントの編集行の削除ボタンを使用不可にしても根本的な問題は
解決しないのでは? たとえば、別の行の編集ボタン、削除ボタンをクリックしたとき これらの動作を無効にする処理なども必要になります。 ViewState()にカレントの処理(Add,Edit,Delete)を保存して エラーチェックしたらどうでしょうか。 |
|
投稿日時: 2003-11-21 15:41
根本的な問題はとりあえず置いておいて、
Dim cmdDelete as Button = DirectCast(e.item.Cells(2).Control(0),Button) cmdDelete.Enable=False を実行しているのは、DataBindの前ですか? そうするとおそらくDataBindを呼び出しにより、Deleteボタンは再作成されて 元の状態に戻っていると思います(たぶん) DataBind後にやってるとすると、そのタイミングではe.itemはすでにグリッド には含まれていません。なので、e.item.Cells(2).Control(0)ではなくて、 DataGrid1.Items[e.Item.ItemIndex].Cells(2).Control(0)がボタンです。 [ メッセージ編集済み 編集者: Valhalla 編集日時 2003-11-21 18:06 ] |
1