Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ячейка в DBGrid, Как внести значение в ячейку? 
:(
    Опции темы
BigSer
Дата 7.9.2005, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 4.8.2005

Репутация: нет
Всего: нет



Добрый день уважаемые программеры!
Задача: вставить в любую ячейку DBGrid (либо ячейку "объект-столбца") необходимое значение, подобно тому, как в StringGrid:

StringGrid1.Cells[x,y]:='...';

Вариант с Canvas не подходит.
Спасибо, жду варианты ответов. smile
PM MAIL   Вверх
_hunter
Дата 7.9.2005, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



а зачем?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Marriage
Дата 7.9.2005, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

Репутация: нет
Всего: 2



BigSer
Очень просто ...
Код

update TMyTable set MyField = :pMyNew where ID = :pMyId


Грид только оторажает данные. То есть чтобы
Цитата(BigSer @ 7.9.2005, 16:41)
вставить в любую ячейку DBGrid (либо ячейку "объект-столбца") необходимое значение
необходимо изменить значения в базе и обновить данные. Либо использовать dxDbGrid Или cxGrid , в них можно менять данные прям через ячейки, насколько я знаю, в стандартном такой возможностей.

А вообще можешь попробовать превести TDbGrid к TStringGrid и поменять таким образом. На форуме есть тема, посвященная похожей теме smile



--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
Romikgy
Дата 7.9.2005, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Дя ... гдето это уже было smile
В DBGrid есть свойство Dataset ,а у него есть Cells (если не ошибаюсь, по памяти smile)


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
<Spawn>
Дата 8.9.2005, 05:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Цитата
DBGrid есть свойство Dataset ,а у него есть Cells (если не ошибаюсь, по памяти )


Не Cells, а, к примеру, FieldByName, Fields ...


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Romikgy
Дата 8.9.2005, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Дя... точно smile
Код

DBGrid1.Datasource.DataSet.Fields.Fields[x].asString

ЗЫ но помнится , я как то делал и наподобии cells . Там не было этого слова , но индексировал по двум переменным, а щаз найти не смог smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Guest
Дата 8.9.2005, 19:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Что-то пока никак не получается!!! Видимо торможу! Если не трудно киньте пример, или распишите чуть подробнее, если не сложно. Было бы, также, очень славно почитать литературу посвященную именно DBGrid, а не электронные учебники на английском!
Спасибо!!! smile smile
  Вверх
Albinos_x
Дата 8.9.2005, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



компонент DBGrid используется для отображения данных, как это уже сказал
Marriage

следовательно тебе необходимо изменить данные в самой БД. Доступ к полям осуществлять можно так:
Код

Table1.FieldByName('Pole1').AsString:='stroka';
Table1.FieldByName('Pole2').AsFloat:=3.14;
Table1.FieldByName('Pole3').AsInteger:=314;


или так:
Код

Table1.Field[0].AsString:='stroka';
...


чтобы изменить данные необходимо сделать так:

Код

// изменение текущей записи
Table1.RecNo:=i  //установка указателя на i-ю запись 
Table1.Edit;
// значения полей i-й записи будут просто изменены на указанные
Table1.FieldByName('Pole1').AsString:='stroka';
Table1.FieldByName('Pole2').AsFloat:=3.14;
Table1.FieldByName('Pole3').AsInteger:=314;
// сохраняем измененные данные
Table1.Post;


где i - номер строки(записи) которой собираешся менять

обновить содержание таблицы можно различными способами:

Код

Table1.Refresh;


ну ещё можно так:

Код

Table1.Active:=false;
Table1.Active:=true;


но это уже извращение...

PS: ну а вообще можно было бы и поиском воспользоваться...
Добавлено @ 20:21
можно еще попробовать так:

Код

DBGrid1.Fields[0].AsString:='stroka';


но это я не проверял, так что точно сказать не могу...

Это сообщение отредактировал(а) Albinos_x - 8.9.2005, 20:14


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Vet
Дата 8.9.2005, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



To Albinos_x
Можно и
Цитата
DBGrid1.Fields[0].AsString:='stroka';
, но внутри Table1.Edit и Table1.Post, причем без Refresh'a работает.
Кстати, у TCustomDBGrid есть метод SetEditText(ACol, ARow: Longint; const Value: string), только не знаю, как этим можно воспользоваться

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0834 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.