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