一个Winform程序,我的DataGridView绑定到了一个DataTable。1.当我前台用左键或者键盘上下键选择了一行时,后台更改了DataTable,这时选中行还是刚才那一行。DataGridView是怎么做到的?2.我在DataGridView的MouseClick事件中判断如果是右键,则设置鼠标位置所在行的Selected为true 然后弹出右键菜单,但是此时后台更改了DataTable,选中行就不再是刚才选中的那行了。是怎么回事?
调试欢乐多
可是,我通过设特定的DataGridRow的Selected为true的时候,后台更改DataTable的时候,选中行就会改变。
这是怎么回事?
private void dgMain_KeyDown(object sender, KeyEventArgs e)
{
//rowIndex = 0; 取行号
if (e.KeyCode == Keys.Up)
{
rowIndex = dgMain.CurrentRow.Index + 1; //向上加1
}
if (e.KeyCode == Keys.Down)
{
rowIndex = dgMain.CurrentRow.Index - 1; //向上加1
}
//更新DataTable....
}------------------行选中状态发生更改.需要你控制你要得到的行进行操作....仅供参考!
我的问题是用户手动更改选中行时,后台更新DataTable内容时,前台的选中的行不会变。但是当我自己通过代码设置某个row为selected,后台再更新时,选中行就丢失了。是怎么回事?
Public mybm As BindingManagerBase
......
......
Dim oleAdp As New OleDbDataAdapter(comm)
Dim ds, ds1 As New DataSet
oleAdp.Fill(ds)
dgvData.DataSource = ds.Tables(0)
mybm = BindingContext(dgvData.DataSource)
......
......