在DataGrid里面使用CheckBox的例子
2004-10-16 11:34
363 查看
在DataGrid使用CheckBox通常都使用客户端的控件,这样可以把值帮定到CheckBox里面,在服务器端通过string strID = Request["cbID"];获得客户端所选择的值。而且使用客户端控件的时候CheckBox的控件的id都不会被自动转变成别的ID,容易控制,方便做客户端校验。
本例子只是简单地说明了怎么帮定值到CheckBox上,和获得所选的值。
页面代码:
<%@ Page language="c#" Codebehind="CheckBoxTest.aspx.cs" AutoEventWireup="false" Inherits="WebTest.DataGridTest.CheckBoxTest" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>CheckBoxTest</title>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:DataGrid id="dtgView" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="id">
<ItemTemplate>
<INPUT type="checkbox" id=cbID name=cbID value='<%# DataBinder.Eval(Container, "DataItem.id") %>'>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="val" HeaderText="val"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
<P> </P>
<P>
</FONT>
<asp:Button id="btnGetResult" runat="server" Text="GetResult"></asp:Button></P>
</form>
</body>
</HTML>
CS代码:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebTest.DataGridTest
{
/// <summary>
/// CheckBoxTest 的摘要说明。
/// </summary>
public class CheckBoxTest : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid dtgView;
protected System.Web.UI.WebControls.Button btnGetResult;
DataTable dt;
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
//帮定数据源
this.GetDT();
this.dtgView.DataSource = dt;
dtgView.DataBind();
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnGetResult.Click += new System.EventHandler(this.btnGetResult_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
//制造一个数据源
private void GetDT()
{
dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("val", typeof(string));
for(int i=0; i<=20; i++)
{
dt.Rows.Add(new object[]{i, "val_" + i.ToString()});
}
}
private void btnGetResult_Click(object sender, System.EventArgs e)
{
//获得CheckBox的值
string strID = Request["cbID"];
string [] IDs = new string[0];
//如果用户有选择CheckBox,就分解获得的字符串,得到用户选择的ID
if(strID != null && strID.Length > 0)
{
IDs = strID.Split(new char[]{','});
}
//获得用户选择的ID的个数
int i = IDs.Length;
Response.Write(String.Format("一共有{0}个ID被选:<BR>", i));
foreach (string ID in IDs)
{
Response.Write(ID);
Response.Write("<BR>");
}
}
}
}
本例子只是简单地说明了怎么帮定值到CheckBox上,和获得所选的值。
页面代码:
<%@ Page language="c#" Codebehind="CheckBoxTest.aspx.cs" AutoEventWireup="false" Inherits="WebTest.DataGridTest.CheckBoxTest" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>CheckBoxTest</title>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:DataGrid id="dtgView" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="id">
<ItemTemplate>
<INPUT type="checkbox" id=cbID name=cbID value='<%# DataBinder.Eval(Container, "DataItem.id") %>'>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="val" HeaderText="val"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
<P> </P>
<P>
</FONT>
<asp:Button id="btnGetResult" runat="server" Text="GetResult"></asp:Button></P>
</form>
</body>
</HTML>
CS代码:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebTest.DataGridTest
{
/// <summary>
/// CheckBoxTest 的摘要说明。
/// </summary>
public class CheckBoxTest : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid dtgView;
protected System.Web.UI.WebControls.Button btnGetResult;
DataTable dt;
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
//帮定数据源
this.GetDT();
this.dtgView.DataSource = dt;
dtgView.DataBind();
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnGetResult.Click += new System.EventHandler(this.btnGetResult_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
//制造一个数据源
private void GetDT()
{
dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("val", typeof(string));
for(int i=0; i<=20; i++)
{
dt.Rows.Add(new object[]{i, "val_" + i.ToString()});
}
}
private void btnGetResult_Click(object sender, System.EventArgs e)
{
//获得CheckBox的值
string strID = Request["cbID"];
string [] IDs = new string[0];
//如果用户有选择CheckBox,就分解获得的字符串,得到用户选择的ID
if(strID != null && strID.Length > 0)
{
IDs = strID.Split(new char[]{','});
}
//获得用户选择的ID的个数
int i = IDs.Length;
Response.Write(String.Format("一共有{0}个ID被选:<BR>", i));
foreach (string ID in IDs)
{
Response.Write(ID);
Response.Write("<BR>");
}
}
}
}
相关文章推荐
- 方便的使用单击和双击更新DataGrid中的数据的例子 (转)
- vs2003中遍历DataGrid里面的绑定列的CheckBox
- 在dataGrid中使用checkBox和ComboBox的用法示例
- 一个datagrid中嵌入checkBox典型的例子
- DataGrid,DataTable,DataGrid使用小例子
- 使用单击和双击更新DataGrid中的数据的例子
- flex 使用dataGrid,在列里面自己加组件
- DataGrid和CheckBox的混合使用
- DataGrid 中使用 复选框(CheckBox) 删除纪录
- shell脚本使用两个数组,判断一个变量是否在数组里面的例子
- jquery easyui datagrid使用(二)——带有内部checkbox的datagrid
- 如何在DataGrid里面使用动态图形表示数字
- 如何在DataGrid里面使用动态图形表示数字
- 使用单击和双击更新DataGrid中的数据的例子
- DataGrid使用 绑定checkbox
- Flex中使用 dataGrid结合CheckBox使项目可选、全选、反选
- c++ com 在c#项目里面使用简单例子
- DataGrid和CheckBox的混合使用
- ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList
- 方便的使用单击和双击更新DataGrid中的数据的例子