UltraWinGrid进入编辑模式问题

时间:2013-04-24 15:10:56

标签: vb.net focus row 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   
   |
  \_/

enter image description here

2 个答案:

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