- PR -

入れ子にしたGridView内のボタンイベントについて

1
投稿者投稿内容
ぬるぴょん
ベテラン
会議室デビュー日: 2003/06/02
投稿数: 62
投稿日時: 2007-01-15 21:24
会議室の皆さん、お世話になっております。


VB.NET + ASP.NET (2005)にて悩んでおります。


現在、Repeaterコントロール内にGridViewを入れ子にしています。

この状態でGridView内Template列のボタンをクリックしたときの
処理を書こうと思っているのですが上手くいきません。

RepeaterのItemDataBound内で

Dim gv As GridView = DirectCast(e.Item.FindControl("GridView1"), GridView)

AddHandler gv.RowCommand, AddressOf GridView1_RowCommand

といった感じでハンドラを追加し
以下のプロシージャを追加しました。

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)

Response.Write("111")

End Sub

この状態でDataGrid内のボタンを押してもGridView1_RowCommandに処理が入ってきません。

どこがおかしいのかイマイチわかりません。
どなたか教えてください。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2007-01-16 05:56
引用:

RepeaterのItemDataBound内で

Dim gv As GridView = DirectCast(e.Item.FindControl("GridView1"), GridView)

AddHandler gv.RowCommand, AddressOf GridView1_RowCommand

といった感じでハンドラを追加し


GridViewのGridView1_RowCommandハンドラをデザイン時に
登録したらよいのでは。

コード:
    <asp:Repeater ID="Repeater1" runat="server" 
      DataSourceID="SqlDataSource1">
      <ItemTemplate>
        :::
        <asp:GridView ID="GridView1" runat="server" 
          AutoGenerateColumns="False" 
          DataSourceID="SqlDataSource2" 
          OnRowCommand="GridView1_RowCommand">
          <Columns>
            :::
          </Columns>
        </asp:GridView>
        <br />        
      </ItemTemplate>
    </asp:Repeater>



_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
ぬるぴょん
ベテラン
会議室デビュー日: 2003/06/02
投稿数: 62
投稿日時: 2007-01-16 09:31
Accessさん、こんにちは。

デザイン時にOnRowCommand="GridView1_RowCommand"をつけることによって解決出来ました!

非常に助かりました。ありがとうございました。
1

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