2017-07-20 19 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);    
      } 
     } 
関連する問題