dataSet1.Tables[0].ColumnChanged+= new System.Data.DataColumnChangeEventHandler(this.dataset1_ColumChanged);// dataSet1.Tables[0]是dataGrid的数据源;private void dataSet1_ColumChanged(object sender,System.Data.DataColumnChangeEventArgs e)
{
if (e.Column.ColumnName == "你的CHECKBOX列名")
{
// 你要执行的操作
}
}
{
if (e.Column.ColumnName == "你的CHECKBOX列名")
{
// 你要执行的操作
}
}
解决方案 »
- 对象名 'tb_examResult' 无效
- 在VS2008中,像铁路的货物运单类型的报表应该怎样实现?
- 如何在winform中绘制 10000*10000的单元格效率最高?
- 静态Arraylist是否线程安全?包括在集合枚举时是否也安全的?
- sps 2007 工作流开发问题
- 句柄简单问题,解决马上结贴(在线等。。。。。)
- C#获得控件的问题!
- 我想重绘listview的垂直滚动条,如何得到垂直滚动条的句柄?
- 2个循环的思路请教
- C#控件移动范围控制,急救!
- rose 最新版本是多少? 2001.03.00.271.000
- DATAGRID的每条记录后面加个CHECKBOX,当选中时激活一个事件,把该记录的某个字段值(如ID)写进一个TEXTBOX
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 xiehuav2._0.doccard
{
/// <summary>
/// showdoccate 的摘要说明。
/// </summary>
public class showdoccate : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button AddCateBtn;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.WebControls.Label lblInfo;
protected System.Web.UI.WebControls.TextBox CateCode;
XieHua.DocumentCate myDocumentCate=new XieHua.DocumentCate() ; private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Bind();
string Cate=CateCode.Text;
AddCateBtn.Attributes.Add("onclick","window.opener.document.adddocument.CateCode.value ='"+Cate+"'; window.close();"); } #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.AddCateBtn.Click += new System.EventHandler(this.AddCateBtn_Click);
this.Load += new System.EventHandler(this.Page_Load);
DataSet ds =myDocumentCate.GetDocumentCateDetail();//dataGrid的数据源
ds.Tables[0].ColumnChanged+= new System.Data.DataColumnChangeEventHandler(this.ds_ColumChanged); }
#endregion
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
Bind();
} private void Bind()
{
DataSet ds =myDocumentCate.GetDocumentCateDetail();
//ds.Tables[0].DefaultView.Sort = ViewState["Sort"].ToString();
lblInfo.Text = "共有:" + ds.Tables[0].Rows.Count.ToString()+"条记录";
this.DataGrid1.DataSource = ds.Tables[0].DefaultView;
this.DataGrid1.DataBind();
} private void AddCateBtn_Click(object sender, System.EventArgs e)
{
}
public void AllSelect()//全选CHECKBOX
{
bool tempbl;
System.Web.UI.WebControls.CheckBox tempCK;
tempCK=(System.Web.UI.WebControls.CheckBox)Page.FindControl("ckb_All");
tempbl=tempCK.Checked;
for(int i=0;i<DataGrid1.Items.Count;i++)
{
tempCK=(System.Web.UI.WebControls.CheckBox)DataGrid1.Items[i].FindControl("ckb_Select");
tempCK.Checked=!tempbl;
}
}
private void ds_ColumChanged(object sender,System.Data.DataColumnChangeEventArgs e)
{
//Response.Write("abc");
System.Web.UI.WebControls.CheckBox tempCK;
tempCK=(System.Web.UI.WebControls.CheckBox)Page.FindControl("ckb_Select");
if (e.Column.ColumnName == tempCK.ToString())
{
// 你要执行的操作
//Response.Write("ok");
}
}
}
}没语法错误,可是一点都没反应。麻烦再帮我看看,还有,我全选也没反应,不胜感激!(再加30分)
OnCheckedChanged="check" AutoPostBack="True"
例如:
<asp:TemplateColumn HeaderText="contract">
<ItemTemplate>
<asp:CheckBox id="CheckBox1" runat="server" Width="161px"
OnCheckedChanged="check" AutoPostBack="True" >
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>同时:
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
Bind();
.....
}
}在
protected void check(Object Sender, System.EventArgs e)
{
Response.Write("执行了!");
// 你的代码
}