我有一个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
|
\_/
答案 0 :(得分:1)
我不知道为什么,但用BeginInvoke
调用它解决了这个问题。
BeginInvoke(New MethodInvoker(AdressOf SetFocusToRow))
Private sub SetFocusToRow()
{
myUltraWinGrid.ActiveCell = myUltraWinGrid.ActiveRow.Cells("foo")
myUltraWinGrid.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode)
}
答案 1 :(得分:-1)
因为它是由某种原因由另一个线程执行的
myUltraWinGrid.BeginInvoke(new MethodInvoker(()=> myUltraWinGrid.PerformAction(UltraGridAction.EnterEditMode)));