按单元格值设置“聚焦在行”

本文关键字:聚焦在行 聚焦 单元格 设置 | 更新日期: 2023-09-27 17:59:15

我有两个网格视图,即PositionsReadyListGridViewPositionsNotReadyListGridView

现在,功能要求是单击按钮Set Not Ready,从PositionsReadyListGridView中选择的项目将从此列表中删除并添加到PositionsNotReadyListGridView中。

类似地,单击按钮Set Ready时,从PositionsNotReadyListGridView中选择的项目将从此列表中删除并添加到PositionsReadyListGridView中。

我已经实现了这个功能,但我无法在添加到任一GridView的最新行上设置Focus。

有没有一种方法可以根据单元格将焦点设置为行价值观

例如,在这两个网格中,我都有一个列colID,它对一行是唯一的。

我可以以某种方式使用此ID将Focus设置为添加到PositionsReadyListGridView(单击set Ready)或PositionsNotReadyListGridView(单击set Not Ready)的行吗?

感谢

按单元格值设置“聚焦在行”

您可以使用LocateByValue方法,该方法返回已定位行的RowHandle,并将该值设置为FocusedRowHandle属性:

int rowHandle = PositionsReadyListGridView.LocateByValue("colID", ID);
if (rowHandle != GridControl.InvalidRowHandle)
    PositionsReadyListGridView.FocusedRowHandle = rowHandle

通过获取最近添加的行

PositionsReadyListGridView.Rows.Count - 1

以及用于设置焦点

PositionsReadyListGridView.Rows[PositionsReadyListGridView.Rows.Count - 1].Cells[colID].Selected = true;
    private void PositionsNotReadyListGridView_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
    {
        this.PositionsNotReadyListGridView.Rows[e.RowIndex].Selected = true;
    }

对于devExpress使用此代码:

gridView1.FocusedRowHandle = gridView1.LocateByValue("columnName",value of columnName, null);