UltraWinGrid进入编辑模式问题
问题描述:
我有一个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
|
\_/
答
我不知道为什么,但与BeginInvoke
调用它解决了这个问题。
BeginInvoke(New MethodInvoker(AdressOf SetFocusToRow))
Private sub SetFocusToRow()
{
myUltraWinGrid.ActiveCell = myUltraWinGrid.ActiveRow.Cells("foo")
myUltraWinGrid.PerformAction(Infragistics.Win.UltraWinGrid.UltraGridAction.EnterEditMode)
}
答
因为它是由另一个线程执行由某种原因
myUltraWinGrid.BeginInvoke(新MethodInvoker(()=> myUltraWinGrid.PerformAction(UltraGridAction.EnterEditMode)));
+0
这是phadaphunk的答案评论,而不是答案本身。 – Phil 2015-07-30 21:21:47
也许没有从主UI线程调用进入编辑模式的代码? – 2013-05-30 13:10:58
@JeffBridgman也许吧。我不擅长线程。但它是有道理的。 – phadaphunk 2013-05-30 13:12:14