簡體   English   中英

GridControl DevExpress 中的行選擇

[英]Rows selection in GridControl DevExpress

在帶有動態列表的 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++;
    });
}

謝謝!

您可以使用GridControl.CurrentItem屬性。 如果將其值設置為null則行選擇將消失。

GridControl.CurrentItem = null;

要更改網格的 FocusedRow,請使用 GridView!

因此,如果您的 GridView 與您的 GridControl 命名相同,它將如下所示,

GridView.FocusedRowChanged(null, null);
//Replace "GridView" with your GridView's name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM