- - PR -
ボタンのイベント
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-02-10 11:05
asp.netでvb.netを使ってプログラムを開発しています。
page_load時にwebコントロールのテーブルに行を作成し、 各行にボタンを入れたいのですが ボタンのイベントの記述の仕方がわかりません。 何かよい方法をご教授願います。 |
|
投稿日時: 2003-02-10 13:03
Tableではなく、DataListやDataGridを使ってみてはどうでしょう。
|
|
投稿日時: 2003-02-10 13:19
ご返答ありがとうございます。
DataListやDataGridの方が簡単にできるのでしょうか? Tableではできないのでしょうか? よろしくお願いします。 |
|
投稿日時: 2003-02-10 13:40
DataGridを使用する際の利点なら以下のようなことでしょう。
>page_load時にwebコントロールのテーブルに行を作成し、 >各行にボタンを入れたいのですが VS.NETをご使用であれば、行生成時にいちいちボタンを作らなくても、 プロパティビルダで簡単に設定できます。 >ボタンのイベントの記述の仕方がわかりません。 ボタンクリック時にどの行が選択されたのかが簡単に分かります。 例えば、削除ボタンを追加した場合 Private Sub DataGrid1_Delete(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) というメソッドを作成すると、 e.Item.Cells(0).Text で押下したボタンの行の情報を取得することが出来ます。 #ただし、予め作成したDataGridのボタンに「Delete」というコマンド名を 入れてあげなくてはいけません。 <asp:ButtonColumn Text="削除" ButtonType="PushButton" CommandName="Delete"> <ItemStyle HorizontalAlign="Center"></ItemStyle> </asp:ButtonColumn> テーブルで作成されることにこだわっていらっしゃるようですが、 なにか理由でもあるのでしょうか? どこから情報を取得して、どういう手順で表示したいのか等の詳細が分かりませんが、 ややこしい手順で作成しない限り、DataGridをお勧め致します。 (ちなみに、DataListは使ったことがないので良く分からないですが・苦笑) [ メッセージ編集済み 編集者: まゆりん 編集日時 2003-02-10 13:46 ] |
|
投稿日時: 2003-02-10 13:44
>page_load時にwebコントロールのテーブルに行を作成し、各行にボタンを・・・
ということは、動的に行を作りたいということですよね。(その時によってセル内の内容が変わったり、行の数が変わったり。) そして各行にボタンを入れたいと言うことは、ユーザーに行の指定をさせたいということですよね? Microsoftは、そのような動作をさせたい人が沢山いるだろうと思い、そのような機能を簡単に実装できる仕組みを作りました。 それがDataListやDataGridです。(テーブル形式でないならRepeaterというコントロールもあります) ということですので、一つ目の質問の答えは「簡単にできる」となります。 二つ目の「Tableではできないのか」ですが、テーブルのセルを表すTableCellクラスを軽く調べてみましたが、ボタン等コントロールの設定の仕方は分かりませんでした。 もしかするとコントロールを設定する方法があるのかも知れませんが、結局それぞれのボタンのイベントなどを扱うコードも打ち込まなければならないことを考えると、かっぺいさんのなさりたい事の実現はDataListやDataGrid等でやるべきです。 |
|
投稿日時: 2003-02-10 13:56
一郎さん、まゆりんさんご返答ありがとうございました。
特にTableにこだわってる訳ではないので、DataGridを勉強して使用してみようと思います。 またわからない事がありましたら、その時はよろしくお願いします。 |
1
