1
Gridviewのedititemtemplateセクションでこのコントロールを探しています。ここでGridviewのedittemplateでコンボボックスコントロールを見つけようとしています
<EditItemTemplate>
<ajaxToolkit:ComboBox ID="GridviewCategoryComboBox1" AppendDataBoundItems="true" runat="server" AutoCompleteMode="Suggest" DataSourceID="GridViewCategorySqlDataSource1" DataTextField="Name" DataValueField="Id" MaxLength="0" Style="display: inline;">
<asp:ListItem>Select Category</asp:ListItem>
</ajaxToolkit:ComboBox>
私はedititemテンプレートにあるコントロールを取得しようとするイベントハンドラです。
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs
e)
{
GridView1.EditIndex = e.NewEditIndex;
int id = (int)GridView1.DataKeys[e.NewEditIndex].Value;
ComboBox ddl = GridView1.Rows[e.NewEditIndex].Cells[1].FindControl("GridviewCategoryComboBox1") as ComboBox;
}
誰かが見つけようとしても、nullを返します。
私はまた、このような他のバリエーションを試してみました:
ComboBox ddl = GridView1.Rows[e.NewEditIndex].FindControl("GridviewCategoryComboBox1") as ComboBox;
このレシピを試すことができます。https://blog.codinghorror.com/recursive-pagefindcontrol/ – hardkoded