NET GridView中添加CheckBox取值问题

前台代码:

<asp:GridView ID="GridviewDeptAuditList" AutoGenerateColumns="false" runat="server"
            GridLines="none" Width="100%"
            <AlternatingRowStyle CssClass="alt" />
            <Columns>
                <asp:TemplateField ItemStyle-Width="6%">
                    <HeaderTemplate>
                        <asp:CheckBox ID="selectAll" runat="server" onclick="getAllCheckBox(this)" />
                        <span>全选</span>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="itemSelect" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField ItemStyle-Width="5%">
                    <HeaderTemplate>
                        查看</HeaderTemplate>
                    <ItemTemplate>
                        <a href='<%#GetAllUrl(Eval("ID")) %>'>查看</a>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField HeaderText="流程名称" DataField="WorkFlowName" ItemStyle-Width="14%" />
                <asp:BoundField HeaderText="子流程名称" DataField="SubWorkflowName" ItemStyle-Width="14%" />
            </Columns>
        </asp:GridView>

js实现全选效果:

 <script type="text/javascript">
        function getAllCheckBox(checkAll) {
            var items = document.getElementsByTagName("input");
            for (i = 0; i < items.length; i++) {
                if (items[i].type == "checkbox") {
                    items[i].checked = checkAll.checked;
                }
            }
        }
</script>

后台代码:

//注意:如果是在page_load里绑定GridView,一定要加上(!Page.IsPostBack),不然取不到值的。我就是在这上面吃了亏。

   protected void Page_Load(object sender, EventArgs e)
        {
            this.EnableProgressBar = false;
            if (!Page.IsPostBack)
            {
                BindGridView();
            }
        }
        public void BindGridView()
        {
            this.Gridview1.DataSource = dataSource;
            this.Gridview1.DataKeyNames = new string[] { "ID" };
            this.Gridview1t.DataBind();
        }

取值方法:

  protected void BtnDeny_Click(object sender, EventArgs e)
        {
            // 取值 
            for (int i = 0; i < GridviewDeptAuditList.Rows.Count; i++)
            {
                CheckBox chb = (CheckBox)Gridview1.Rows[i].FindControl("itemSelect");
                if (chb.Checked)
                {

                    keys += GridviewDeptAuditList.DataKeys[i].Value.ToString() + ",";
                }

            }
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值