2011-09-09 26 views
1

GridViewにはTextBoxがあり、<asp:TemplateField />にあり、GridViewはAJAXアップデートパネル内に存在します。 GridView内のテキストボックスにはTextChangedイベントを登録したいが、グリッド内の最初の行についてのみイベントを登録したい。バインドOnTextChangedイベントUpdateBox内のGridview内のTextBox

これを行う方法はありますか?

OnTextChangedEventAutoPostBack = trueTextBoxにバインドしようとしましたが、各行にテキストボックスが表示されています。 TextChangedイベントをGridViewの最初の行のTextBoxに限定するにはどうすればよいですか。 あなたは私を助けてくれますか? フィードバックをいただきありがとうございます。

答えて

2

おそらく、あなたはGridView_RowDataBoundイベントを使用することができますし、代わりにASPXマークアップにTextBoxにイベントを取り付ける、背後にあるコードを経由して、それを実行します。

protected void view_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     if (e.Row.RowIndex == 0) 
     { 
      TextBox txtBox = (TextBox)e.Row.FindControl("txtBoxId"); 
      txtBox.TextChanged += new EventHandler(txtBox_TextChanged); 
     } 
    } 
} 
+0

私はそのようにそれを行う場合は、ポストバックがあなたをhappening..canされていませんしてください最後の解決策を教えてください。 – user788312

+0

テキストボックスのAutoPostBackプロパティをtrueに設定しても、 – Waqas

+0

はい、RowDataBoundイベントではなくRowCreatedイベントでイベントをアタッチすることで修正しました。 – user788312

関連する問題