GridView表头加CheckBox按钮

<script type="text/javascript">
function Check(parentChk,ChildId)
{    
    var oElements = document.getElementsByTagName("INPUT");    
    var bIsChecked = parentChk.checked;     
    for(i=0; i<oElements.length;i++)    
    {        
        if (IsCheckBox(oElements[i]) && IsMatch(oElements[i].id, ChildId))
        {
            oElements[i].checked = bIsChecked;        
        }
    }   

function IsMatch(id, ChildId)
{    
    var sPattern ='^grd_List.*'+ChildId+'$';    
    var oRegExp = new RegExp(sPattern);    
    if(oRegExp.exec(id))         
        return true;    
    else         
        return false;

function IsCheckBox(chk)
{    
    if(chk.type == 'checkbox')
        return true;    
    else
        return false;
}
</script>    


<asp:GridView ID="grd_List" runat="server"  AutoGenerateColumns="false"  Font-Size ="12"
 Width="100%"  style="margin-left: 0px" OnRowDataBound ="grd_List_RowDataBound"  >
 <Columns>
     <asp:BoundField DataField="table_name" HeaderText="表名" Visible ="false"  />
     <asp:BoundField DataField="cn_name" HeaderText="表单名称" />
    
     <asp:TemplateField>
         <ItemTemplate>
             <asp:CheckBox ID="cbQuery" runat="server" Text="运行"/>
         </ItemTemplate>
         <HeaderTemplate>
             <input type="checkbox" id="chkrun" name="chkrun" οnclick="Check(this,'cbQuery')" />运行
         </HeaderTemplate>
     </asp:TemplateField>
     <asp:TemplateField>
         <ItemTemplate>
             <asp:CheckBox runat="server" ID="cbInsert" Text="新增"></asp:CheckBox>
         </ItemTemplate>
         <HeaderTemplate>
             <input type="checkbox" id="chkadd" name="chkadd"  οnclick="Check(this,'cbInsert')" />新增
         </HeaderTemplate>
     </asp:TemplateField>
     <asp:TemplateField>
         <ItemTemplate>
             <asp:CheckBox  runat="server" ID="cbUpdate"  Text="修改"></asp:CheckBox>
         </ItemTemplate>
         <HeaderTemplate>
             <input type="checkbox" id="chkupdate" name="chkupdate" οnclick="Check(this,'cbUpdate')" />修改
         </HeaderTemplate>
     </asp:TemplateField>
     <asp:TemplateField >
         <ItemTemplate>
             <asp:CheckBox runat="server" ID="cbDelete"  Text="删除"></asp:CheckBox>
         </ItemTemplate>
         <HeaderTemplate>
             <input type="checkbox" id="chkdelete" name="chkdelete" οnclick="Check(this,'cbDelete')" />删除
         </HeaderTemplate>
     </asp:TemplateField>
    
     <asp:TemplateField >
         <ItemTemplate >
             <asp:CheckBox runat="server" ID="cbDownload" Text="导出"></asp:CheckBox>
         </ItemTemplate>
         <HeaderTemplate>
             <input type="checkbox" id="chkdownload" name="chkdownload" οnclick="Check(this,'cbDownload')" />导出
         </HeaderTemplate>
     </asp:TemplateField>
 </Columns>
 <EmptyDataTemplate>
         没有数据可显示
 </EmptyDataTemplate>
 <HeaderStyle Font-Size="Smaller" />
</asp:GridView>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在GridView中添复选框,请按照以下步骤进行操作: 1.在GridView的布局文件中,添一个CheckBox视图作为每个单元格的一部分,如下所示: ``` <GridView android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="4" android:padding="4dp"> <CheckBox android:id="@+id/checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </GridView> ``` 2.在适配器类中,创建一个ViewHolder类来保存视图和其它数据。在ViewHolder类中,将CheckBox视图与GridView的每个单元格关联起来。 ``` public class MyAdapter extends ArrayAdapter<String> { private List<String> itemList; private Context context; private static class ViewHolder { CheckBox checkBox; } public MyAdapter(Context context, int resourceId, List<String> items) { super(context, resourceId, items); this.itemList = items; this.context = context; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = LayoutInflater.from(context).inflate(R.layout.grid_item_layout, parent, false); viewHolder = new ViewHolder(); viewHolder.checkBox = convertView.findViewById(R.id.checkbox); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } final String item = itemList.get(position); viewHolder.checkBox.setText(item); return convertView; } } ``` 3.在活动类中,创建一个MyAdapter对象,并将其设置为GridView的适配器。 ``` public class MainActivity extends AppCompatActivity { private GridView gridView; private List<String> itemList = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gridView = findViewById(R.id.gridview); for (int i = 1; i <= 20; i++) { itemList.add("Item " + i); } MyAdapter adapter = new MyAdapter(this, R.layout.grid_item_layout, itemList); gridView.setAdapter(adapter); } } ``` 这样,就可以在GridView中添复选框了。当用户点击复选框时,可以使用适配器中的数据结构来记录选中的项目。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值