GridView中添加一个CheckBox列

1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridView_CheckBoxColumn.aspx.cs" Inherits="GridSamples_GridView_CheckBoxColumn" %>
2
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5<html xmlns="http://www.w3.org/1999/xhtml" >
6<head runat="server">
7    <title>无标题页</title>
8    <script language="javascript" type="text/javascript">
9    function selectAll(obj)
10    {
11        var theTable = obj.parentElement.parentElement.parentElement;
12        var i;
13        var j = obj.parentElement.cellIndex;
14        
15        for(i=0;i<theTable.rows.length;i++)
16        {
17            var objCheckBox = theTable.rows[i].cells[j].firstChild;
18            if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;
19        }
20    }
21    </script>
22</head>
23<body>
24    <form id="form1" runat="server">
25    <div>
26        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
27            DataKeyNames="id" DataSourceID="AccessDataSource1" AllowSorting="True" OnDataBinding="GridView1_DataBinding" OnRowDataBound="GridView1_RowDataBound">
28            <Columns>
29                <asp:TemplateField>
30                    <ItemTemplate>
31                        <asp:CheckBox ID="CheckBox1" runat="server" Checked="True" Text='<%#DataBinder.Eval(Container.DataItem,"id") %>' />
32                    </ItemTemplate>
33                    <HeaderTemplate>
34                        &nbsp;<input id="CheckAll" type="checkbox" οnclick="selectAll(this);" />本页全选
35                    </HeaderTemplate>
36                </asp:TemplateField>
37                <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
38                    SortExpression="id" />
39                <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
40                <asp:BoundField DataField="sex" HeaderText="sex" SortExpression="sex" />
41                <asp:BoundField DataField="deptid" HeaderText="deptid" SortExpression="deptid" />
42            </Columns>
43        </asp:GridView>
44        &nbsp;
45      
46        <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/test.mdb"
47            SelectCommand="SELECT [id], [name], [sex], [deptid] FROM [employees]"></asp:AccessDataSource>
48        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="ShowAllSelectedItem" />
49        <asp:TextBox ID="TextBox1" runat="server" Width="200px"></asp:TextBox></div>
50    </form>
51</body>
52</html>

转载于:https://www.cnblogs.com/nocoding/archive/2012/09/01/2666223.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个比较具体的问题,需要结合代码来实现。首先,我们需要在GridView添加一个CheckBox,可以在GridView定义添加一个TemplateField,然后在ItemTemplate添加CheckBox控件。具体实现代码如下: ``` <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> <Columns> <asp:TemplateField> <HeaderTemplate> <asp:CheckBox ID="CheckBoxSelectAll" runat="server" onclick="SelectAll(this);" /> </HeaderTemplate> <ItemTemplate> <asp:CheckBox ID="CheckBoxSelect" runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="ID" HeaderText="ID" /> <asp:BoundField DataField="Name" HeaderText="Name" /> <asp:BoundField DataField="Age" HeaderText="Age" /> </Columns> </asp:GridView> ``` 这里我们在第一添加一个模板,然后在HeaderTemplate添加一个“全选”CheckBox控件,用于全选/取消全选。在ItemTemplate添加一个CheckBox控件,用于选择每一行。 接下来,我们需要在前端页面添加一个Button控件,用于提交被勾选的CheckBox的值到后端页面: ``` <asp:Button ID="ButtonSubmit" runat="server" Text="Submit" OnClick="ButtonSubmit_Click" /> ``` 然后在后端代码,我们需要在ButtonSubmit_Click事件获取被勾选的CheckBox的值,然后将其传递到另一个页面。具体代码如下: ``` protected void ButtonSubmit_Click(object sender, EventArgs e) { List<string> selectedIds = new List<string>(); foreach (GridViewRow row in GridView1.Rows) { CheckBox checkBoxSelect = row.FindControl("CheckBoxSelect") as CheckBox; if (checkBoxSelect != null && checkBoxSelect.Checked) { string id = GridView1.DataKeys[row.RowIndex].Value.ToString(); selectedIds.Add(id); } } Session["SelectedIds"] = selectedIds; Response.Redirect("AnotherPage.aspx"); } ``` 这里我们首先定义了一个List<string>类型的selectedIds变量,用于存储被勾选的CheckBox的值。然后我们遍历GridView1的每一行,获取每一行CheckBox控件的状态,如果被勾选,则将该行的ID值添加到selectedIds。 最后,我们将selectedIds存储到Session,然后通过Response.Redirect跳转到另一个页面。在另一个页面,我们可以从Session获取到selectedIds的值,然后再将其绑定到另一个GridView即可。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值