如何在外部点击时从Infragistics超网格单元格中删除焦点?

时间:2012-07-05 12:58:54

标签: winforms infragistics ultragrid

我在Windows窗体中有一个infragistics ultragrid控件。外面有一个“添加新”按钮,可以在网格中插入新行。

我遇到的问题是,当我点击网格外的按钮时,当我正在编辑网格内的单元格时,单元格不会失去焦点。因此,编辑的新值不会更新到其基础数据源。

我需要此单元格失去焦点并更新它的基础数据源,因为“添加新”按钮会创建一个新行,此特定列具有默认值,该默认值是根据前一行的编辑值计算的。

关于如何疏散超网格细胞的任何想法?这种情况也可能适用于普通的GridView。

2 个答案:

答案 0 :(得分:8)

如果您的按钮位于工具栏上,那么您所看到的行为是预期的,因为工具栏不会占用焦点。如果在执行逻辑之前就是这种情况,您可以使用网格的PerformAction方法并传入UltraGridAction.CommitRow来强制正在编辑的行提交其更新。

例如:

this.ultraGrid1.PerformAction(UltraGridAction.CommitRow);

答案 1 :(得分:1)

我使用myUltraGrid.ActiveRow.Cells[0].Activate();也可以。但是我认为@alhalama的解决方案更好。