TextChanged这一事件并不是Grid控件的值发生改变时激发的事件要响应Grid控件的值发生改变事件,如下:dataSet1.Tables[0].ColumnChanged+= new System.Data.DataColumnChangeEventHandle(this.my_ColumChanged);private void my_ColumChanged
(object sender,System.Data.DataColumnChangeEventArgs e)
{
//你的代码
}其中,dataSet1.Tables[0]是dataGrid的数据源
(object sender,System.Data.DataColumnChangeEventArgs e)
{
//你的代码
}其中,dataSet1.Tables[0]是dataGrid的数据源
解决方案 »
- CrystalReport
- unhandled exception has occurred in your application.
- 这个是我用C#写的发送电子邮件的程序代码,怎么老是报以下异常啊?
- SqlDataReader索引超出界限!!!!
- ftp中文的问题
- 如何不让外部点击我的listbox内容,如果点击的话回到原来的选中位置!
- A project with an Output Type of Class Library cannot be started directly
- C#中关于局部变量的问题
- 学C#的好书
- 一个很久没有解决的问题:关于一个网站的用户注册,身份验证等.
- 为什么asp.net程序在运行了一两个小时后就会连接数据库出错呢?
- "常量"小问
如用这种方法,必须把DataSet定义为类的字段,如果仅在方法模块中定义的DataSet应该怎么办?在DataGrid控件中改变数值,和数据源应该没什么关系才对,因为我没有把DataGrid与DataSet进行静态绑定.
(若不设dataSoure也可用,请告知,谢谢!)2、在DataGrid控件中改变数值,dataset中同时也改变。3、你的意思是动态邦定到dataGrid?即使动态邦定也可以阿。4、另,这种方法不必把DataSet定义为类的字段,在方法模块中定义的DataSet一样。
例如:
Form_load()
{
dataSet dataSet1=new dataSet();
dataGrid.dataSource=dataSet1.Tables[0];
dataSet1.Tables[0].ColumnChanged+= new
System.Data.DataColumnChangeEventHandle(this.my_ColumChanged);
}
my_ColumChanged()
{
//你的代码
}
以上代码,只是大概意识,具体实现请你自己根据实际情况处理。
确实是可以,谢谢你先!
但是我不明白在系统底层是怎样实现的,因为一个模块级的对象应该在一旦运行完整个模块后就释放了才对,怎么会是这样的?结合上例来说:
Form_load()
{
1 dataSet dataSet1=new dataSet();
2 dataGrid.dataSource=dataSet1.Tables[0];
3 dataSet1.Tables[0].ColumnChanged+= new
4 System.Data.DataColumnChangeEventHandler(this.my_ColumChanged);
}
my_ColumChanged(object sender,
System.Data.DataColumnChangeEventArgs e)
{
5
}
按道理来说,程序运行到4时,把一个方法通过代理传剃给事件,这没有错,但是一旦运行完“}”这个结束符后,dataSet1这个对象应该被清除了才对,怎么还会生效呢?难道是DataGrid这个控件一直关联到DataSet而使数据集并没有被释放?DataGrid上的数值应该是它自身的一个值才对,怎么与数据集挂钩了,还是请大家讨论讨论!
System.Data.DataColumnChangeEventArgs e)
{
5
}
依然要访问dataSet的实列 所以,
dataSet的实列不被清除,直到dataGrid实列被清除以上内容仅为我个人想法,未经验证。大家讨论讨论!