的信息:
我正在使用C#.NET 3.5 winforms应用程序并在其中使用Infragistics ultrgrid 8.2。网格有5列,其中前三列是只读的,第四列和第五列是有价值的下拉列表。第4列称为“From”。
我想达到什么目标:
当表单启动时,我想将焦点设置为“From”列的第一行单元格,并将其置于编辑模式。
我编码了什么:
我写了以下功能
private void SetFocus()
{
_grid.Focus();
_grid.ActiveCell = _grid.Rows[0].Cells["From"];
_grid.PerformAction(UltraGridAction.EnterEditMode);
_grid.DisplayLayout.Bands[0].Columns["From"].Editor.Focus();
}
当通过form的paint事件调用时,工作正常。但是看到控件聚焦于每种涂料都令人恼火。在加载时调用它,获得正确的焦点;但不会将控件设置为编辑模式。
非常感谢
Jyotsna
答案 0 :(得分:0)
我不确定,但我做了一点谷歌搜索,也许,
_grid.Rows[0].Cells["From"].Activate();
而不是打电话
_grid.ActiveCell = _grid.Rows[0].Cells["From"];
不能确定它是否有所作为,但试一试。
答案 1 :(得分:0)
解决方法:link
var cell = ... // Get the cell
if (cell != null)
{
BeginInvoke(new MethodInvoker(() =>
{
cell.Activate();
bugGrid.PerformAction(UltraGridAction.EnterEditMode);
}));
}