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);
}));
}