Как в TDBGrid pазpешить только опеpации UPDATE записей

Материал из DRKB

Как в TDBGrid pазpешить только опеpации UPDATE записей[править | править код]

А я делаю так. На DataSource, к которому прицеплен Grid, вешаю обработчик на событие OnStateChange. Ниже текст типичного обратчика

if DBGrid1.DataSource.DataSet.State in [dsEdit, dsInsert] then
  DBGrid1.Options := DBGrid1.Options + goRowSelect
else
  DBGrid1.Options := DBGrid1.Options - goRowSelect;


Дело в том, что если у Grid'а стоит опция goRowSelect, то из Grid'а невозможно добавить запись. Ну а когда программно вызываешь редактирование или вставку, то курсор принимает обычный вид и все Ok.

Лучше использовать конструкцию "State in dsEditModes"


Source: Взято с http://delphiworld.narod.ru
ID: 03060