Можно ли изменять размер столбца DataGridView по мере ввода пользователем?

#c# #.net #datagridview

#c# #.net #datagridview

Вопрос:

У меня для свойства AutoSizeColumnModes DataGridView установлено значение AllCells, но столбец фактически не изменяется, пока пользователь не закончит редактирование ячейки. Я попытался использовать событие нажатия клавиши EditingControl в ячейке для вызова метода AutoResizeColumns() DataGridView, но это не сработало.

Ответ №1:

Да, путем написания сценария CurrentCellDirtyStateChanged события для немедленной фиксации изменений во время ввода:

 private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
   if (dataGridView1.IsCurrentCellDirty)
       dataGridView1.CommitEdit(DataGridViewDataErrorContexts.CurrentCellChange);
}