【问题标题】:UltraWinGrid enter edit mode issueUltraWinGrid 进入编辑模式问题
【发布时间】:2013-04-24 15:10:55
【问题描述】:

我有一个 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   
   |
  \_/

【问题讨论】:

    标签: vb.net focus row ultrawingrid


    【解决方案1】:

    我不知道为什么,但用BeginInvoke 调用它解决了这个问题。

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

    【讨论】:

    • 也许进入编辑模式的代码没有从主 UI 线程调用?
    • @JeffBridgman 也许吧。我不擅长穿线。但这是有道理的。
    【解决方案2】:

    因为某些原因被另一个线程执行了

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

    【讨论】:

    • 这是对 phadaphunk 答案的评论,而不是答案本身。
    猜你喜欢
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    相关资源
    最近更新 更多