Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 删除后自动设置焦点行_Wpf_Datagrid_Devexpress - Fatal编程技术网

Wpf 删除后自动设置焦点行

Wpf 删除后自动设置焦点行,wpf,datagrid,devexpress,Wpf,Datagrid,Devexpress,我有一个devexpress网格视图,其中包含以行和列形式表示的数据。我已经实现了删除功能,现在我想,如果用户删除一行,那么控件应该自动将它前面的行设置为焦点行,用户可以再次删除,而无需重新选择该行 如何自动设置focusedRow…删除项目后调用此方法 public void SelectLastVisibleRow() { if (gridControl.VisibleRowCount > 1) { gridCon

我有一个devexpress网格视图,其中包含以行和列形式表示的数据。我已经实现了删除功能,现在我想,如果用户删除一行,那么控件应该自动将它前面的行设置为焦点行,用户可以再次删除,而无需重新选择该行


如何自动设置focusedRow…

删除项目后调用此方法

    public void SelectLastVisibleRow()
    {
        if (gridControl.VisibleRowCount > 1)
        {
            gridControl.View.BeginSelection();
            gridControl.View.ClearSelection();
            gridControl.View.SelectRow(gridControl.VisibleRowCount - 1);
            gridControl.View.MoveFocusedRow(gridControl.VisibleRowCount - 1);
            gridControl.View.EndSelection();
        }
    }
希望这有帮助

新版本:

gridControl1.View.FocusedRowHandle = gridControl.VisibleRowCount - 1
获取选定行:

((TableView)gridControlSearchResults.View).SelectedRows

这是普雷维乌斯一行

        private void backgroundWorkerDelete_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        try
        {
            progress1.Visible = false;

            gridView1.GetFocusedDataRow().Delete();

            gridView1.FocusedRowHandle = gridView1.FocusedRowHandle - 1;
        }
        catch (Exception ex)
        {
            logop.DataErors(ex.Message, "backgroundWorkerDelete_RunWorkerCompleted", "object", this.Name);
        }

    }

View后的View

BeginSelection()、ClearSelection()和其他方法不在Dev Express网格控件内。它显示错误…那么您必须使用最新版本。使用:gridControl1.View.FocusedRowHandle=gridControl.VisibleRowCount-1;是的…这非常接近我想要的…我得到了我跟随你的代码的东西,并做了一些修改…只需使用VisibleRowCount而不是VisibleRowCount-1作为后一个自动聚焦最后一个节点。但这是与同一概念相关的另一件事:如果我同时选择了3行并尝试删除它们,我总是将最后一个选择作为重点行,例如,如果我选择了索引4,5,6处的行。。FocusedRow是第六排,而不是我选择的所有三排。我想获得多个选择中每个聚焦行的值…聚焦行将始终是您最后选择的行,无论您选择了10行。如果需要所选行的值,则必须循环所有所选行。使用此代码获取所选行:((TableView)gridControl1.View)。SelectedRows或更好的方法是绑定所选行:SelectedRowsSource=“{Binding Selection}”