我有一个ultragrid,我正在根据no动态调整表单大小。用户在其上应用过滤器时的行数。 我想在表单调整大小后重置焦点在超网格单元格上。 我在ultraGrid1_AfterRowFilterChanged事件中尝试过它。
UltraGridCell aCell = this.ultraGrid1.ActiveRow.Cells["CompanyName"];
this.ultraGrid1.ActiveCell = aCell;
this.ultraGrid1.Focus();
this.ultraGrid1.PerformAction(UltraGridAction.EnterEditMode, false, false);
但它不起作用。
我想要任何替代解决方案。
答案 0 :(得分:0)
当网格过滤掉行时,活动行不会更改。因此,如果活动行被过滤掉,我假设你的代码不会做任何事情。要选择第一个未过滤的行,您可以在AfterRowFlterChanged事件中使用这样的代码:
var notFilteredOutRow = this.ultraGrid1.Rows.FirstOrDefault(r => !r.IsFilteredOut);
if (notFilteredOutRow != null)
{
this.ultraGrid1.ActiveCell = notFilteredOutRow.Cells[0];
this.ultraGrid1.Focus();
this.ultraGrid1.PerformAction(UltraGridAction.EnterEditMode, false, false);
}