zoukankan      html  css  js  c++  java
  • 关于在repeater中的checkbox实行多选和全选

    今天项目中用到这一块,是一个b2b商城,业务是别人给客户留言后,客户从会员中心的留言管理中查看,用checkbox实行多选和全选后进行批量审核

    首先在checkbox后加个hidden,作用见代码:

    string getuserid = "";
    for (int i = 0; i < Repeater1.Items.Count; i++)
    {
    CheckBox cb = (CheckBox)Repeater1.Items[i].FindControl("ckBoxly");

    if (cb.Checked)
    {
    HiddenField hd = (HiddenField)Repeater1.Items[i].FindControl("hdCkBox");
    getuserid += hd.Value + ",";

    }

    }
    getuserid = getuserid.Substring(0, getuserid.Length - 1);

    hidden在repeater绑定的是留言表中的id,这样,就获得了选中项的id,放到getuserid中,在利用sql语句的in来做

    =============================================================================================

    全选和取消(下面是转别人的)

    前些日子一直在网上寻找在Repeater中使用CheckBox来实现“全选”和“全消”的例子,可都不太满意,今天请教了高手终于搞清了,其实实现这种功能有两种方式:
      第一种利用For循环
       For(int i=0;i<=Repeater1.Items.Count;i++)//遍历整Repeater
      {
         CheckBox cb=New CheckBox();//声明一个CheckBox类型的变量cb
         cb=(CheckBox)this.Repeater1.Items[i].FindControl[CheckBox1];/*从Repeater1中找出CheckBox的控件并赋予cb*/
         cb.Checked=true;//使CheckBox1的默认状态是被勾选的
      }
     第二种利用Foreach循环
      Foreach(RepeaterItem Item in Repeater1.Items)/*同样是遍历整个Repeater1的项,注意此时的变量类型*/
    {
      CheckBox cb=New CheckBox;//作用同上
      cb=Repeater1.Item.FindControl(CheckBox1);//作用同上
      cb.Checked=true;
    }
    说明:1.上述事件可以放在private void CheckBox_selectAll_Changed(object sender, System.EventArgs e)中
     也可以放在private void btn_selectAll_Click(object sender, System.EventArgs e)中
         2.上述代码只是实现了“全选”的功能,在实现全消的时候只要是cb.Checked=false;即可,其他的代码不变
         3.也可以使用一个if语句来实现符合功能,如果你把上述代码写在一个单击事件里的话,这个复合功能实现的是单击一次实现全选,再单击一次实现全消;如果写在CheckBox_selectAll_Changed(object sender, System.EventArgs e)中则如果CheckBox_selectAll被选中则实现全选功能;反之,实现全消的功能
  • 相关阅读:
    网页显示UIWebView(一个)
    借百度数据,建立你自己的程序
    引水数据--紧凑
    Unity3d 实时折射和反射
    snmp监控磁盘
    Linux snmp监控
    20监控工具
    Java 四舍五入
    Oracle主键操作
    SnmpTrap
  • 原文地址:https://www.cnblogs.com/wanshutao/p/4302910.html
Copyright © 2011-2022 走看看