我在Windows窗体中有一个infragistics ultragrid控件。外面有一个“添加新”按钮,可以在网格中插入新行。
我遇到的问题是,当我点击网格外的按钮时,当我正在编辑网格内的单元格时,单元格不会失去焦点。因此,编辑的新值不会更新到其基础数据源。
我需要此单元格失去焦点并更新它的基础数据源,因为“添加新”按钮会创建一个新行,此特定列具有默认值,该默认值是根据前一行的编辑值计算的。
关于如何疏散超网格细胞的任何想法?这种情况也可能适用于普通的GridView。
答案 0 :(得分:8)
如果您的按钮位于工具栏上,那么您所看到的行为是预期的,因为工具栏不会占用焦点。如果在执行逻辑之前就是这种情况,您可以使用网格的PerformAction方法并传入UltraGridAction.CommitRow来强制正在编辑的行提交其更新。
例如:
this.ultraGrid1.PerformAction(UltraGridAction.CommitRow);
答案 1 :(得分:1)
我使用myUltraGrid.ActiveRow.Cells[0].Activate();
也可以。但是我认为@alhalama的解决方案更好。