- - PR -
GridViewの複数のボタン
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-08-04 16:13
いつもお世話になっております。
今回、初めて投稿させて頂きます。 開発環境 WindowsXP VisualStudio2005 C#でweb開発 まだまだ、初心者です。 似たような質問があって、それを参考に、 なんとか自力で解決しようと思ったのですが うまくできず、悩んでいます。 質問 ------------------------------------------------- GridViewで 1行に3つのButtonFieldを設けています。 ボタンA ボタンB ボタンC このボタンが押下された場合に、 ボタンAなら「0」 ボタンBなら「1」 ボタンCなら「2」 という値を取得できるようにしたいのですが。。。 やりたい処理の流れは、 ・あるデータをGridViewに一覧表示 ・ボタンが押下されたら、次画面に遷移 ・詳細データを表示 ※この時に、ボタン押下時に取得した値を使用したいのです。 そこで、 GridView内にButtonFieldを作成し、 ボタンを押下後に、対象の行の値も取得したいので、 CommandNameを「Select」にしたものを3つ用意しました。 <asp:ButtonField ButtonType="Button" CommandName="Select" Text="XXX"></asp:ButtonField> ボタン押下時に GridView_SelectedIndexChangedイベントを呼び出し、行の値は取得 できるのですが、3つのボタンのうちどれが押されたのかを 判別できないのが現状です。 テンプレートを使い、 ButtonのCommandArgumentに値をセットし、RowCommandイベントで 取得しようと、試みたのですが、うまくイベントが 発生してくれず、悩んでいます。 最終的に、質問の内容は、 3つのボタンのうちどのボタンが押下されたのかを 判別したいけど、やり方がわからない、 です。 文章が下手で、説明が分かり辛いかもしれませんが、 どなたかご教授を宜しくお願い致します。 [ メッセージ編集済み 編集者: ぶぅあ 編集日時 2008-08-04 16:15 ] | ||||||||
|
投稿日時: 2008-08-04 17:11
同じ環境ですが、私のところではきちんとRowCommandイベントで拾えています。
| ||||||||
|
投稿日時: 2008-08-06 13:13
rainさん回答ありがとうございました。
<asp:TemplateField> <ItemTemplate> <asp:Button ID="Button1" runat="server" CommandArgument="0" CommandName="Select" Text="A" /> </ItemTemplate> </asp:TemplateField> この部分の書き方は、まったく同じでした。 で、RowCommandイベントが拾えなかった原因が、 GridViewのEnableViewStateが「false」になっていたから見たいです。 この部分は、特に必要なかったので、 削除したら、正常にイベントを拾うことができ、 目的の動作を得ることができました。 回答本当にありがとうございました。 また、宜しくお願い致します。 |
1