3

GridViewのTemplateField内でCheckBoxを使用して、そのGridViewから複数のエントリを選択しようとしています。GridViewのデータソースは、ページの読み込み時に生成されるアイテムのリストです。

<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False" 
            AllowPaging="True" onpageindexchanging="TANsGridView_PageIndexChanging" 
            DataKeyNames="GUID">
            <Columns>
                <asp:TemplateField ShowHeader="False" HeaderText="Checker">
                    <ItemTemplate>
                        <asp:CheckBox ID="SelectCheckbox" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>

問題は、送信ボタンを押すと、すべてのチェックボックスがCheckedプロパティで「false」として返されることです。

行を循環するために、私は以下を使用します:

foreach (GridViewRow row in TANsGridView.Rows)
        {
            CheckBox cb = (CheckBox)row.FindControl("SelectCheckbox");
        }

正しい値にアクセスするには、何を使用すればよいですか?

ありがとう、カタリン

4

2 に答える 2

6

毎回ページの読み込み時にグリッドビューを誤って再バインドしていませんか?グリッドビューバインディングコードは、ポストバックではなくでのみ実行されるように、ifステートメントでラップする必要があります。

今、これを受け入れチェックのためにここに置くことになっていますか?:)

于 2011-02-17T12:55:49.950 に答える
0

ページload.loadでグリッドをバインドしている場合は、次のようにグリッドをロードします。

if(!ispostback)
{
..........loading data to databind.

}
于 2011-02-17T13:01:46.080 に答える