GridView 中添加CheckBox取值问题

我是新手,第一次写blog.是我自己在做项目时遇到的问题以及解决方法、记录下来。希望对遇到同样问题的人有点帮助!也请大家多多指教!

前台代码:

  <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" οnclick="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() + ",";              

             }              

        }

}

 

 

转载于:https://www.cnblogs.com/zhujinwen/p/3662545.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值