我的DataGridView绑定到与Insert Form相同的BindingSource,并且Name列被排序。插入完成后,groupBindingSource.Current不会返回新插入的DataRowView,而是返回排序顺序中的最后一行,这使得Update不执行任何操作。
FormGroup formGroup = new FormGroup();
formGroup .Source = groupBindingSource;
formGroup .setMode(FormGroup.Mode.Insert);
if (formGroup .ShowDialog() == DialogResult.OK)
{
DataRowView drv = (DataRowView)groupBindingSource.Current;
grupoTableAdapter.Update(drv.Row);
}
答案 0 :(得分:0)
您可以在插入之前禁用排序并在之后启用它吗?
类似的东西:
//...
//disable sorting
if (formGroup .ShowDialog() == DialogResult.OK)
{
DataRowView drv = (DataRowView)groupBindingSource.Current;
grupoTableAdapter.Update(drv.Row);
}
//enable sorting
答案 1 :(得分:0)
DataRowView drv = (DataRowView)source.AddNew();
grupoTableAdapter.Update(drv.Row);
grupoBindingSource.Position = grupoBindingSource.Find("ID", drv.Row.ItemArray[0]);
它使得绑定的DataGridView相应地选择新添加的行,即使任何列已经整理出来。