- - PR -
DataGridにボタン表示
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-09-12 15:36
ASP.Netを最近始めたばかりでASP.NET(VB.NET)についてまだあまり理解しておらず、
色々調べながら。。。という状態で一つどうしてもわからない事があり質問させてください。 この掲示板の中からDataGridについてのスレッドを読みましたがいまいちわからず。。。 DataGridにデータを表示し、ボタンを作成するところまではできたのですが、 このボタンを押したときにイベントが何も走らないのです。 ボタンの作成方法がおかしいのか、イベントを走る場所を間違えているのか。。。 すみませんが教えてください。 ボタンは、DataGridのプロパティビルダ→列の中にボタン列を選択可能にしてテキストで 名前を付けました。 ちなみにボタンを押したらその行のデータを取得して次のDataGridを表示したいのです。 |
|
投稿日時: 2005-09-12 15:56
ItemCommandイベントについて調べてみましょう。
|
|
投稿日時: 2005-09-12 16:18
trapemiyaさんありがとうございます。
僕もItemCommandイベントは調べてそこに TXT_TEST.Text = e.CommandName といれてデバックしてみたのですが、反応がない状態なのです。 |
|
投稿日時: 2005-09-12 16:58
ボタンにイベントはきちんと設定されていますか?
データグリッド内だからといってイベントが発生しないとかは関係ないと思うので 簡単なミスなきがするのです。 デバッガでブレークポイントかけてみてください。 はっ! CommandNameがブランクでTextもブランクだったりとか(ナワケナイカ |
|
投稿日時: 2005-09-12 17:07
paupauさんありがとうございます。
多分、設定とかちょっと抜けているだけだとは思うのですが。。。 仕組みをわかっていないところに問題があると思います。 一応、 Private Sub DataGrid_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid.ItemCommand TXT_TEST.Text = e.CommandName End Sub のTXT_TEST.Text = e.CommandNameの部分にブレークポイントをかけて 動かしているのですが、ここを通らないんです。。。 |
|
投稿日時: 2005-09-12 17:08
CommandNameの設定ってどこかにする必要ってあるんですか?
|
|
投稿日時: 2005-09-12 17:20
ItemCommandって、データグリッドのアイテムコマンドイベントですよね?
であれば、e.CommandSourceってのがイベントの発行元(この場合はボタンのコントロール)になるはずです。これをボタン型にキャストしてやればボタンのコントロールとして取れるはずです。 また、e.Item.Cells[hoge]で押したボタンのある行のhoge列の情報が取れるので、これをうまく使えば目的の操作ができるんじゃないですかね? 的外れだったらごめんなさい。 |
|
投稿日時: 2005-09-12 17:20
ItemCommand イベントのイベントハンドラを設定する必要があります。以下のリンクを参考にされるか、DataGridのプロパティで、イベントハンドラを指定してあげましょう。どちらでも同じです。
ItemCommand イベント http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwebuiwebcontrolsdatalistclassitemcommandtopic.asp |