2017-07-20 83 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);    
      } 
     }