minato128 blog

minato128の公開メモ帳です。

GridViewのItemTemplate内コントロールを参照する

ネタがないので普通のこと書きます。

CheckBoxがCheckedのGridViewRowを取得する例。
LINQビギナーにCastとOfTypeの違いを説明するときにも使えるかも(適当)

Dim checkedRows = gvSample.Rows.Cast(Of GridViewRow).
	Where(Function(row) row.Cells(Columns.CheckBox).Controls.OfType(Of CheckBox).First().Checked)
<asp:GridView ID="gvSample" runat="server" AutoGenerateColumns="False" ShowHeaderWhenEmpty="True" ClientIDMode="Static">
    <Columns>
        <asp:TemplateField ShowHeader="False">
            <ItemTemplate>
                <asp:CheckBox runat="server" />
                ...
            </ItemTemplate>
        </asp:TemplateField>
        ...
    </Columns>
</asp:GridView>