2017-07-20 42 views
0

我有一个gridEX组件和向上/向下按钮相应地更改选定的行。如果我从表格中选择某一行,则向上按钮应该选择之前选定行之上的行。gridEX行选择更改buttonclick不可见

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); 
     } 
    } 

上面的代码选择正确的行,但选择不可见,就像它会是如果我点击行。 可能是什么问题?

回答

0

单击向上/向下按钮会导致网格失去焦点。这就是选中的行没有突出显示的原因。在更改行之前,您需要将焦点设置回网格。类似这样的:

 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);    
      } 
     }