14 个解决方案
#1
CellValueChanged事件
private void dgvTest_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
this.dgvTest.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
}
#2
System.Data.DataTable table = new System.Data.DataTable();
table.RowChanged += new System.Data.DataRowChangeEventHandler(table_RowChanged);
void table_RowChanged(object sender, System.Data.DataRowChangeEventArgs e)
{
// Get row index by property e.Row
}
table.RowChanged += new System.Data.DataRowChangeEventHandler(table_RowChanged);
void table_RowChanged(object sender, System.Data.DataRowChangeEventArgs e)
{
// Get row index by property e.Row
}
#3
.
#4
学习一下。正需要这些资料。
#5
来参观的,帮顶.
#6
这样好像并不能激发这个事件,我在做时因为datasource已经绑定了,只是datatable内部的数据值改变,datagridview好像并没有发现其cell中的值已经改变了.
#7
DataBindingComplete事件!!
#8
我试了一下,e.Row获取不到行号,只能获取到一个实际改变过的dataRow.
#9
我的datatable完成绑定时数据并没有改变,是完成了绑定后,其他的进程改变了我的datatable.
#10
用DataBindingComplete事件没问题,你试一试吧,只要改变datatable,这个事件就会触发
#11
你的datatable内部的数值是怎么改变的?不是在DataGridView中修改的?
#12
你的DataTable中的数据是被另一个进程修改的?
------------------------
这样的话修改完后的dataTable应该不会马上在你的datagridview上体现出来吧?
也就是说你要重新绑定才会体现出来.
------------------------
这样的话修改完后的dataTable应该不会马上在你的datagridview上体现出来吧?
也就是说你要重新绑定才会体现出来.
#13
如果修改datatable里面的数据,必须重新bind
#14
我是用BackgroundWorker来更新datatable的,用主进程在更新主界面上的进度条等.当datatable中的值改变时,datagridview界面中的值也就随之改变了,不需重新Bind,我试过了重新Bind,但也没有激发上面的那些事件.
#1
CellValueChanged事件
private void dgvTest_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
this.dgvTest.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
}
#2
System.Data.DataTable table = new System.Data.DataTable();
table.RowChanged += new System.Data.DataRowChangeEventHandler(table_RowChanged);
void table_RowChanged(object sender, System.Data.DataRowChangeEventArgs e)
{
// Get row index by property e.Row
}
table.RowChanged += new System.Data.DataRowChangeEventHandler(table_RowChanged);
void table_RowChanged(object sender, System.Data.DataRowChangeEventArgs e)
{
// Get row index by property e.Row
}
#3
.
#4
学习一下。正需要这些资料。
#5
来参观的,帮顶.
#6
这样好像并不能激发这个事件,我在做时因为datasource已经绑定了,只是datatable内部的数据值改变,datagridview好像并没有发现其cell中的值已经改变了.
#7
DataBindingComplete事件!!
#8
我试了一下,e.Row获取不到行号,只能获取到一个实际改变过的dataRow.
#9
我的datatable完成绑定时数据并没有改变,是完成了绑定后,其他的进程改变了我的datatable.
#10
用DataBindingComplete事件没问题,你试一试吧,只要改变datatable,这个事件就会触发
#11
你的datatable内部的数值是怎么改变的?不是在DataGridView中修改的?
#12
你的DataTable中的数据是被另一个进程修改的?
------------------------
这样的话修改完后的dataTable应该不会马上在你的datagridview上体现出来吧?
也就是说你要重新绑定才会体现出来.
------------------------
这样的话修改完后的dataTable应该不会马上在你的datagridview上体现出来吧?
也就是说你要重新绑定才会体现出来.
#13
如果修改datatable里面的数据,必须重新bind
#14
我是用BackgroundWorker来更新datatable的,用主进程在更新主界面上的进度条等.当datatable中的值改变时,datagridview界面中的值也就随之改变了,不需重新Bind,我试过了重新Bind,但也没有激发上面的那些事件.