大人になっても苦手な食べ物、ありますか?

こんにちわ。
VS.NET2003でASP.NET+C#で開発をしております。
DataGridコントロールを使用して、選択ボタンを追加し、選択時に処理を行おうと思っているのですが、OnSelectedIndexChangedイベントが発生しません。

ホームページ等にあるソースをそのまま打ち込むと発生するのですが、自分でコントロールを配置するとうまく動いていないようです。
何か設定があるのでしょうか?

一応HTMLレベルではこんな感じで、書いてます。

=WebForm1.aspx==================================
<省略>

<asp:DataGrid id=DataGrid1 runat="server" OnSelectedIndexChanged="DataGrid1_Select" DataSource="<%# dataSet11 %>" DataKeyField="SYAIN_NO" DataMember="syain" AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn DataField="SYAIN_NO" SortExpression="SYAIN_NO" HeaderText="SYAIN_NO"></asp:BoundColumn>
<asp:BoundColumn DataField="SYAIN_NAME" SortExpression="SYAIN_NAME" HeaderText="SYAIN_NAME"></asp:BoundColumn>
<asp:BoundColumn DataField="ADDRESS" SortExpression="ADDRESS" HeaderText="ADDRESS"></asp:BoundColumn>
<asp:BoundColumn DataField="TEL" SortExpression="TEL" HeaderText="TEL"></asp:BoundColumn>
<asp:ButtonColumn Text="選択" ButtonType="PushButton" CommandName="select"></asp:ButtonColumn>
</Columns>
</asp:DataGrid>

<省略>
===============================================

選択ボタンを押したら、DataGrid1_Selectに飛ぶはずなのですが、デバッグしても止まりません…

どなたかアドバイスお願いします。

A 回答 (2件)

>ホームページ等にあるソースをそのまま打ち込むと発生するのですが、自分でコントロールを配置するとうまく動いていないようです。



何処かで間違えているのでしょうね。DataBindのタイミングとか。

こちらの掲示板が詳しい。

参考URL:http://www.atmarkit.co.jp/fdotnet/index/bbs/dir1 …
    • good
    • 0
この回答へのお礼

再度の返答ありがとうございますっ!
できました…。

どうやら、Page_Loadが原因だったみたいです。

**修正前**************************************
private void Page_Load(object sender, System.EventArgs e){
   sqlDataAdapter1.Fill(dataSet11.syain);
   DataGrid1.DataSource = dataSet11.syain;
   DataGrid1.DataBind();
}
**********************************************

**修正後**************************************
private void Page_Load(object sender, System.EventArgs e){
if(!IsPostBack){
   sqlDataAdapter1.Fill(dataSet11.syain);
   DataGrid1.DataSource = dataSet11.syain;
   DataGrid1.DataBind();
}
}
**********************************************

どうやら、毎回DataBind()等の処理をしていたのがいけなかったようです。(そりゃ、毎回もとの画面に戻るもんなぁ)
なんか、腰砕けます…昨日からすげぇ悩んでたのにぃ。

todo36さんありがとうございました。

お礼日時:2004/07/07 15:36

OnSelectedIndexChanged="DataGrid1_Select"



この記述はVS.NETの流儀ではありません。

デザイン→DataGrid1をクリック→プロパティ→イベントボタン(雷)→SelectedIndexChangedをクリック
でDataGrid1_SelectedIndexChangedが自動生成されるのでそこに書きます。
    • good
    • 0
この回答へのお礼

todo36さんありがとうございます。

そちらの方も既に試しております。
念のため、もう一度やってみましたが、うまく行きませんでした。
結局選択ボタンを押しても、DataGrid1_SelectedIndexChangedに到達していないようです。
ちなみに、自動生成してからOnSelectedIndexChanged="DataGrid1_SelectedIndexChanged"という記述を追加してもダメでした。

お礼日時:2004/07/07 14:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報