3

我有一个 Windows 形式的基础设施超网格控件。外面有一个“添加新”按钮,可以将新行插入到网格中。

我面临的问题是,当我单击网格外的按钮时,当我在网格内编辑一个单元格时,该单元格不会失去焦点。因此,已编辑的新值不会更新为其基础数据源。

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

那么关于如何使超网格单元失焦的任何想法?这种情况也可能适用于普通的 GridView。

4

2 回答 2

8

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

例如:

this.ultraGrid1.PerformAction(UltraGridAction.CommitRow);
于 2012-07-05T20:57:01.403 回答
1

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

于 2012-07-06T10:14:32.333 回答