Infragistics UltraGrid: невозможно войти в режим редактирования для сфокусированного столбца

Информация:

Я работаю с C#.NET 3.5 приложением winforms и использую в нем Infragistics ultrgrid 8.2. Сетка имеет 5 столбцов, из которых первые три - только для чтения, а 4-й и 5-й - выпадающие списки. Четвертый столбец называется "От".

Чего я хочу добиться:

Когда форма запускается, я хочу установить фокус на первую ячейку строки для столбца "От", а также перевести ее в режим редактирования.

Что я кодировал:

Я написал следующую функцию


частная пустота SetFocus()

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

Который, когда вызывается через событие рисования формы, работает нормально. Но раздражает, когда контроль фокусируется на каждой краске. Вызывая это при загрузке, вы получаете правильный фокус; но не устанавливает контроль в режиме редактирования.

Уже спасибо

Jyotsna

2 ответа

Я не уверен, но я немного погуглил и, может быть,

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

вместо звонка

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

Не могу быть уверен, что это будет иметь значение, но попробуйте.

Решено здесь: ссылка

var cell = ... // Get the cell

if (cell != null)
{
     BeginInvoke(new MethodInvoker(() =>
     {
          cell.Activate();
          bugGrid.PerformAction(UltraGridAction.EnterEditMode);
     }));
}
Другие вопросы по тегам