Я хочу, чтобы в TDBGrid редактировались только некоторые ячейки. В данном столбце некоторые, но не все ячейки будут доступны для редактирования, поэтому я не могу просто установить Column.ReadOnly для всего столбца, а затем оставить его таким.
Какие события лучше всего использовать, чтобы я мог получить контроль при входе в ячейку. Я мог бы использовать TDbGrid.ColumnEnter для обнаружения горизонтального движения и TDataSet.AfterScroll для вертикального движения в сетке. Или я мог бы использовать TDBGrid.DrawColumnCell (который я уже использую для изменения цвета некоторых ячеек...)
И у меня также возникли проблемы с определением лучшего способа изменить статус ячейки только для чтения. Я мог бы установить базовый TTable.Field.ReadOnly или TDbGrid.Columns[].ReadOnly.
Я мог бы поэкспериментировать со всем вышеперечисленным, но тогда я зависел бы от своего тестирования, чтобы определить, как реализована сетка, и мог бы упустить какую-то ситуацию. Я бы предпочел знать, предоставляет ли VCL способ справиться с этой потребностью, есть ли предостережения и т. д.
Связано: ячейка TDBGrid/TwwDBGrid только для чтения в Delphi?, но не обрабатывает прокрутка с помощью клавиатуры.