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

Информация:

Я работаю с 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 ]

0 голосов
/ 21 февраля 2014

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

var cell = ... // Get the cell

if (cell != null)
{
     BeginInvoke(new MethodInvoker(() =>
     {
          cell.Activate();
          bugGrid.PerformAction(UltraGridAction.EnterEditMode);
     }));
}
0 голосов
/ 24 ноября 2010

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

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

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

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

Не уверен, что это изменится, но попробуй.

...