0

信息:

我正在使用 C#.NET 3.5 winforms 应用程序并在其中使用 Infragistics ultrgrid 8.2。网格有 5 列,其中前三列是只读的,第 4 和第 5 列是 valuelisted 下拉列表。第 4 列称为“发件人”。

我想达到什么目标:

当表单启动时,我想将焦点设置为“From”列的第一行单元格,并使其处于编辑模式。

我编码了什么:

我写了以下功能


私人无效 SetFocus()

    {
        _grid.Focus();
        _grid.ActiveCell = _grid.Rows[0].Cells["From"];
        _grid.PerformAction(UltraGridAction.EnterEditMode);
        _grid.DisplayLayout.Bands[0].Columns["From"].Editor.Focus();
    }

当通过表单的绘制事件调用时,它工作正常。但是看到控件专注于每个油漆是令人恼火的。在加载时调用它,获得正确的焦点;但不会将控件设置为编辑模式。

已经谢谢了

约茨纳

4

2 回答 2

0

我不确定,但我做了一点谷歌搜索,也许,

_grid.Rows[0].Cells["From"].Activate();

而不是打电话

_grid.ActiveCell = _grid.Rows[0].Cells["From"];

不能确定它是否会有所作为,但请尝试一下。

于 2010-11-24T14:37:16.700 回答
0

在这里解决:链接

var cell = ... // Get the cell

if (cell != null)
{
     BeginInvoke(new MethodInvoker(() =>
     {
          cell.Activate();
          bugGrid.PerformAction(UltraGridAction.EnterEditMode);
     }));
}
于 2014-02-21T02:46:29.160 回答