源码参考http://blog.youkuaiyun.com/greatverve/archive/2008/12/01/3418755.aspx
包含了需要的数据库
前台
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChkBox.aspx.cs" Inherits="baseuse_ChkBox" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>GridView中的CheckBox用法</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:GridView ID="gv_chk" runat="server" AutoGenerateColumns="False">
- <Columns>
- <asp:BoundField DataField="cartid" HeaderText="编号" />
- <asp:BoundField DataField="userid" HeaderText="用户编号" />
- <asp:CheckBoxField DataField="checkout" HeaderText="是否" />
- </Columns>
- </asp:GridView>
- <asp:Button ID="btn_find" runat="server" Text="找到被选中的" OnClick="btn_find_Click" />
- <br />
- <asp:GridView ID="gv_useTemplate" runat="server" AutoGenerateColumns="False">
- <Columns>
- <asp:TemplateField>
- <ItemTemplate>
- <asp:Label ID="Label1" runat="server" Text='<%# Eval("cartid") %>'></asp:Label>
- <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("checkout") %>' Text='<%# Eval("checkout") %>' />
- </ItemTemplate>
- </asp:TemplateField>
- </Columns>
- </asp:GridView>
- <br />
- BindField与模板列混合<br />
- <asp:GridView ID="gv_all" runat="server" AutoGenerateColumns="False">
- <Columns>
- <asp:BoundField DataField="cartid" HeaderText="编号" />
- <asp:TemplateField>
- <ItemTemplate>
- <asp:Label ID="lbl_all" runat="server" Text='<%# Eval("userid") %>'></asp:Label>
- <asp:CheckBox ID="chk_all" runat="server" Checked='<%# Eval("checkout") %>' Text='<%# Eval("checkout") %>' />
- </ItemTemplate>
- </asp:TemplateField>
- </Columns>
- </asp:GridView>
- </div>
- </form>
- </body>
- </html>
后台
- using System;
- using System.Data;
- using System.Configuration;
- using System.Collections;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- public partial class baseuse_ChkBox : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- Bind();
- }
- }
- private void Bind()
- {
- DataTable dt = OleDbHelper.ExecuteDt("select * from cart");
- gv_chk.DataSource = dt;
- gv_chk.DataBind();
- gv_useTemplate.DataSource = dt;
- gv_useTemplate.DataBind();
- gv_all.DataSource = dt;
- gv_all.DataBind();
- }
- protected void btn_find_Click(object sender, EventArgs e)
- {
- //不使用模板列
- foreach (GridViewRow row in gv_chk.Rows)
- {
- if (((CheckBox)row.Cells[2].Controls[0]).Checked)
- Response.Write(row.Cells[0].Text + "<br/>");
- }
- //只使用模板列
- foreach (GridViewRow row in gv_useTemplate.Rows)
- {
- if (((CheckBox)row.FindControl("CheckBox1")).Checked)
- Response.Write("使用模板列的GridView:" + ((Label)row.FindControl("Label1")).Text + "<br/>");
- }
- //绑定列和模板列同时使用
- foreach (GridViewRow row in gv_all.Rows)
- {
- if (((CheckBox)row.Cells[1].FindControl("chk_all")).Checked)
- Response.Write("绑定列和模板列同时使用:" + row.Cells[0].Text + "||" + ((Label)row.Cells[1].FindControl("lbl_all")).Text + "<br/>");
- }
- }
- }