Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Почему не редактируются поля DBGrid


Автор: Cross 17.9.2006, 00:14
Есть база PostgreSQL. Есть соединение - ADO, клиентская часть - SocketConnection.
Когда подключаю DBGrid к CliendDataSet через DataSource в сетке выводятся данные, их можно удалять и добавлять, но редактировать нельзя. Readonly везде поставила False.
Что делать???

Данные беру из компоненты ADOTable, пробовала из ADOQuery - то же самое.

Автор: Rodman 17.9.2006, 23:26
Если хочешь отредактировать запись, то лучше сделай обработчик нажатия на на сетку
Код

procedure TForm5.DBGrid1CellClick(Column: TColumn);
begin
 ShowMessage(TakeDisc.FieldByName(Column.FieldName).AsString);//вернет значение на которое кликнули
  ShowMessage(TakeDisc.Fields.Fields[0].AsString);// вернет значение первого поля строки на которую кликнули
end;


и зная нужное значение выведи их эдиты и отредактируй нужное... после чего с помощью  ADOQuery сделай "Update ..."

Автор: Cross 18.9.2006, 21:38
А что делать если при попытке редактирования выводится ошибка: ClientDataSet not in edit or insert mode???

Хотя если проверяю ClientDataSet.Edit - значение true

Автор: Rodman 19.9.2006, 13:27
Чесно говоря я бы тебе посоветовал использовать только ADOQuery, если конечно тебе позволяет задание... т.к. ты все равно подключаешься через ADO...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)