在带有动态列表的DevExpress 13 GridControl.TableView中,当一行被删除时,行选择不会消失。它仍保留在替换已删除行的行上。当选中行被删除时,如何使行选择也自动消失?我试图通过GridControl.BeginDataUpdate和GridControl.EndDataUpdate来实现它,尽管它不起作用。
private bool _isAlreadyLoaded = false;
private void GridControl_OnLoaded(object sender, RoutedEventArgs e)
{
if (ThisViewModel != null
&& _isAlreadyLoaded == false)
{
ThisViewModel.GettingNewRow += RefreshCommSessionsList;
_isAlreadyLoaded = true;
}
}
//InitializeDataList - method that getting List for GridControl.TableView
public void RefreshCommSessionsList()
{
App.Current.Dispatcher.Invoke(() =>
{
var a = GridControl.GetSelectedRowHandles();
int selectedRowHandle = -1;
if (a.Any())
{
selectedRowHandle = GridControl.View.FocusedRowHandle;
}
GridControl.BeginDataUpdate();
if (NewRowCount < 5 && ThisViewModel != null)
{
ThisViewModel.InitializeDataList();
TableView.DataControl.SelectItem(selectedRowHandle);
}
else
{
GridControl.RefreshData();
TableView.DataControl.SelectItem(selectedRowHandle);
}
GridControl.EndDataUpdate();
NewRowCount++;
});
}谢谢!
发布于 2015-03-19 14:55:37
您可以使用GridControl.CurrentItem属性。如果将其值设置为null,则行选择将消失。
GridControl.CurrentItem = null;发布于 2015-03-19 23:21:41
要更改网格的FocusedRow,请使用GridView!
因此,如果您的GridView与您的GridControl同名,它将如下所示:
GridView.FocusedRowChanged(null, null);
//Replace "GridView" with your GridView's namehttps://stackoverflow.com/questions/29124715
复制相似问题