单击按钮时 gridEX 行选择更改不可见

gridEX row selection change on buttonclick not visible

我有一个 gridEX 组件和 up/down 按钮,用于相应地更改 selected 行。如果我 select 来自 table 的某一行,向上按钮应该 select 之前 select 编辑的行上方的行。

private void btnUp_Click(object sender, EventArgs e)
    {
        //TODO
        int rowIndex = gridEX.Row;

        if (rowIndex > 0)
        {
            GridEXRow newSelectedRow = gridEX.GetRow(rowIndex-1);
            gridEX.SelectedItems.Clear();
            gridEX.MoveTo(newSelectedRow);   
        }
    }

上面的代码 select 是右行,但是 selection 不可见,就像我单击该行时一样。 可能是什么问题?

单击 up/down 按钮会导致网格失去焦点。这就是所选行未突出显示的原因。在更改行之前,您需要将焦点设置回网格。像这样:

        private void btnUp_Click(object sender, EventArgs e)
        {
            int rowIndex = gridEX1.CurrentRow.RowIndex - 1;
            selectRow(rowIndex);
        }

        private void btnDown_Click(object sender, EventArgs e)
        {
            int rowIndex = gridEX1.CurrentRow.RowIndex + 1;
            selectRow(rowIndex);
        }

        private void selectRow(int rowIndex)
        {
            gridEX1.Focus(); //set the focus back on your grid here
            if (rowIndex >= 0 && rowIndex < (gridEX1.RowCount))
            {               
                GridEXRow newSelectedRow = gridEX1.GetRow(rowIndex);
                gridEX1.MoveToRowIndex(rowIndex);               
            }
        }