datagrid前加checkbox

这个是根据某MVP达人的例子写的。
1,JS:
  //將選中的item保存在txtItem中以備保存,修改使用
   function AddRemoveValues(oChk) {
    //Attention:保存的值應該具有唯一性,這樣才不會替換錯誤的項     
     if(oChk.checked)
     {
         Form1.txtItem.value+=oChk.value+";";
         }
     else
     {
      Form1.txtItem.value = Form1.txtItem.value.replace( oChk.value+";","");
     }
           }
2.HTML:
<input runat="server" type="hidden" id="txtItem">

<asp:TemplateColumn HeaderText="請選擇" Visible="False">
             <ItemTemplate>
              <input type=checkbox runat=server id="ChkSelect" οnclick="AddRemoveValues(this)"  value='<%#DataBinder.Eval(Container.DataItem,"Item")%>' NAME="ChkSelect"/>
             </ItemTemplate>
             <HeaderStyle Font-Size="9pt" Wrap="False" ForeColor="White"></HeaderStyle>
             <ItemStyle Wrap="False"></ItemStyle>
             <FooterStyle Wrap="False"></FooterStyle>
            </asp:TemplateColumn>
3..VB
 Dim a() As String = Split(txtItem.Value, ";")
 For i = 0 To UBound(a)
                For j = 0 To DataGrid4.Items.Count - 1
                    If a(i).IndexOf(DataGrid4.Items(j).Cells(1).Text) >= 0 Then
                         Dim ChkSelected As HtmlInputCheckBox = New HtmlInputCheckBox
                             ChkSelected = CType((DataGrid4.Items(j).Cells(0).FindControl("ChkSelect")), HtmlInputCheckBox)
                        ChkSelected.Checked = True
                next
next
基本逻辑很简单,就是在数据库里有两个表,第一个表示所有的item,第二个是已经选中并保存的item。将第二个表中的item捞出来,每个item用";"隔开,然后与datagrid的每项item比较,如果相等的话,就在选中该项的checkbox
恩恩。。基本上这样。

转载于:https://www.cnblogs.com/yeskele/archive/2005/09/07/231576.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值