UltraWinGrid входит в режим редактирования

У меня есть UltraWinGrid, и я хочу сфокусироваться на конкретной ячейке и заставить ее войти в режим редактирования программно (без щелчка). Итак, я сделал это:

If myUltraWinGrid.ActiveRow IsNot Nothing Then
myUltraWinGrid.ActiveCell = myUltraWinGrid.ActiveRow.Cells("foo")
myUltraWinGrid.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode)
Else
myUltraWinGrid.ActiveCell = myUltraWinGrid.Rows(0).Cells("foo")
myUltraWinGrid.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode)
EndIf

Который должен работать, но он только фокусирует строку (без режима редактирования).

fooColumn   
   |
  \_/

2 ответа

Я не знаю почему, но звоню с BeginInvoke решил проблему.

BeginInvoke(New MethodInvoker(AdressOf SetFocusToRow))

Private sub SetFocusToRow()
{
  myUltraWinGrid.ActiveCell = myUltraWinGrid.ActiveRow.Cells("foo")
  myUltraWinGrid.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode)
}

Потому что по какой-то причине он выполняется другим потоком

myUltraWinGrid.BeginInvoke(new MethodInvoker(()=> myUltraWinGrid.PerformAction(UltraGridAction.EnterEditMode)));

Другие вопросы по тегам