マークアップで、GridView
a を使用してコントロールTemplateField
を保持する場合、次のように、実際にコントロールを見つけるためのCheckBox
より簡単なコードを記述できます。FindControl
TextBox
<asp:GridView ID="GridView1" runat="server" Visible="False">
<Columns>
<asp:TemplateField HeaderText="Action Item">
<ItemTemplate>
<asp:CheckBox ID="Overwrite" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
コード ビハインドで、次の操作を実行できます。
foreach (GridViewRow row in GridView1.Rows)
{
// Only check data rows, ignoring header or footer rows
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox b = row.FindControl("Overwrite") as CheckBox;
if(b != null)
{
b.Checked = true;
}
}
}
注:という名前のコントロールを探して行全体を検索できるCells
ため、インデックスはもう必要ありません。FindControl
Overwrite