首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

GridView中checkbox的有关问题

2012-12-25 
GridView中checkbox的问题前台代码:asp:GridView IDgrdApprovalList runatserver Width100% Cel

GridView中checkbox的问题
前台代码:
<asp:GridView ID="grdApprovalList" runat="server" Width="100%" CellPadding="4" ForeColor="#333333"
                        AllowSorting="true" AutoGenerateColumns="false" GridLines="None" Height="215px">
                        <AlternatingRowStyle BackColor="White" />
                        <Columns>
                            <asp:TemplateField HeaderText="选择">
                                <ItemTemplate>
                                    <asp:CheckBox ID="CheckBox" runat="server"/>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:BoundField DataField="Applicant" HeaderText="姓名" />
                            <asp:BoundField DataField="DepartmentCode" HeaderText="部门编号" />
                            <asp:BoundField DataField="GroupCode" HeaderText="小组编号" />
                            <asp:BoundField DataField="LeaveType" HeaderText="假别" />
                            <asp:BoundField DataField="PlanedStartTime" HeaderText="开始时间" />
                            <asp:BoundField DataField="PlanedEndTime" HeaderText="结束时间" />
                            <asp:BoundField DataField="Reason" HeaderText="休假事由" />
                        </Columns>
                        <EditRowStyle BackColor="#2461BF" />
                        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />


                        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                        <RowStyle BackColor="#EFF3FB" />
                        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                        <SortedAscendingCellStyle BackColor="#F5F7FB" />
                        <SortedAscendingHeaderStyle BackColor="#6D95E1" />
                        <SortedDescendingCellStyle BackColor="#E9EBEF" />
                        <SortedDescendingHeaderStyle BackColor="#4870BE" />
                    </asp:GridView>
后台代码:
protected void btnAgree_Click(object sender, EventArgs e)
        {
            //grdApprovalList为页面上GridView的ID
            for (int i = 0; i <= this.grdApprovalList.Rows.Count - 1; i++)
            {
                CheckBox cbox = (CheckBox)this.grdApprovalList.Rows[i].FindControl("CheckBox");
                if (cbox.Checked == true)
                {
                    //处理。。。。。。
                }
            }
        }

问题:为什么无论页面中的checkbox是否选中后台代码中cbox.Checked永远等于false?
[解决办法]
后台的里面加个 
if (!IsPostBack)
        {}
[解决办法]
应该是上面说的那样
页面加载的时候pageload事件里面 
你绑定gridview的代码要加在后台的里面加个  
if (!IsPostBack)
{
  绑定Gridview数据源
}
否则每次你点击按钮时都会重新为Gridview绑定数据

热点排行