- - PR -
ASP.NETのDataGridコントロールのイベント
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-11-02 18:24
どなたかわかる人がいたら教えてください。
ASP.NETのDataGridコントロールに選択ボタン列を追加したのですが、 選択ボタンを押しても、イベントが取れません。 どうしたらよいのでしょうか? コードは、 (WebForm1.aspx) <asp:DataGrid id=DataGrid1 OnSelectedIndexChanged="DataGrid1_SelectedIndexChanged" style="Z-INDEX: 101; LEFT: 192px; POSITION: absolute; TOP: 80px" runat="server" Width="376px" DataSource="<%# DataSet11 %>" DataMember="Categories" DataKeyField="ID" Height="176px" AutoGenerateColumns="False" PageSize="4" AllowPaging="True"> <Columns> <asp:ButtonColumn Text="選択" ButtonType="PushButton" CommandName="Select"> </asp:ButtonColumn> <asp:BoundColumn DataField="ID" SortExpression="ID"HeaderText="ID"> </asp:BoundColumn> </Columns> </asp:DataGrid> (WebForm1.aspx.vb) Sub DataGrid1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.SelectedIndexChanged Label1.Text = DataGrid1.SelectedItem.Cells(1).Text End Sub です。 それとSub DataGrid1_SelectedIndexChangedにPrivateを付けると、コンパイルエラーになってしまいます。 @ITの連載記事にも同じ内容の記事が出ていましたが、それを見ながらやったつもりなのに、うまくいかないです。 初心者の質問で申し訳ありませんが、よろしくお願いいたします。 |
|
投稿日時: 2003-11-03 23:30
> ASP.NETのDataGridコントロールに選択ボタン列を追加したのですが、
> 選択ボタンを押しても、イベントが取れません。 Page_Loadメソッドで毎回新たにDataBind呼び出してませんか? If IsPostBack = False Then ・ ・ DataGrid1.DataBind() End If のようにする必要があります。 データ連結するコントロールのボタンはややこしいですね。 Privateは・・よくわかりませんね。 VS.NETで選択ボタン追加して、ボタンのダブルクリックで 自動的に作成されるメソッドはもともとPrivateですが。 |
|
投稿日時: 2003-11-04 10:58
privateじゃなく、publicにしたらどうですか?
|
|
投稿日時: 2003-11-04 13:22
ご返答ありがとうございます。
Page_Load イベントで If IsPostBack = False Then Me.DataBind() End If にしたらできました。 ASP.NETって、今回の件だとか、セキュリティの設定だとか、 できてしまうと何でもないことで、ひっかかってしまいます。 あまりに初心者的な内容でつまずくので、サンプルも見つからなくって・・・。 本当にありがとうございました。 |
1