Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DBGRID


Rise ©   (2003-05-26 14:22:00) 

Как получить доступ к какой либо ячейке в DBGrid


Stas   (2003-05-26 15:20:00) [1]

Да работать - работает, но время отнимает.


Rise   (2003-05-26 15:18:00) [2]

DBGrid1.DataSource.DataSet.First;
While not DBGrid1.DataSource.DataSet.Eof DO
Begin
....................
DBGrid1.DataSource.DataSet.Next;
end;
Вроде все работает


Zacho   (2003-05-26 14:58:00) [3]


> Stas © (26.05.03 14:53)

В общем случае RecordCount использовать нельзя.
Например, в IBX RecordCount содержит кол-во только выбранных с сервера записей, а что бы получить кол-во всех записей, возвращаемых запросом, надо сделать FetchAll (или Last, или любым способом пройтись по всему датасету).


Stas   (2003-05-26 14:53:00) [4]

Не нужно While.
Можно проще.
Table1.RecordCount


Rise   (2003-05-26 14:51:00) [5]

Да ребят спасибо за наводку я разобрлся
сделаю с помощью while


Rise   (2003-05-26 14:48:00) [6]

а как можно получить общие колличество записей мне надо перебрать все записи одног поля
я хочу в цикл засунуть


Stas   (2003-05-26 14:39:00) [7]

Не так просто - [2,4].

Тебе, нужно это
Text:=TableField[2].asString,
Но, БД Работают только с текущей записью, чтобы тебе перейти на какую либо нужно использовать Table1.Locate("IDField",5,[]), где IDFIELD имя поля по которому ведется поиск, 5 - значение поля.
Можно конечно сделать так, но это непрвильно и невсегда работает:
Table.First
for i:=1 to 3 do Table.Next
Text:=TableField[2].asString,


paul_77   (2003-05-26 14:38:00) [8]

т.е. имеется в виду 2 строчка 4 столбец ?


Zacho   (2003-05-26 14:37:00) [9]


> Rise © (26.05.03 14:31)

TDBGrid не содержит данных ! Он только отображает данные из подключенного к нему датасета. Читай хелп по св-вам и методам TDataSet.

> мне нужно из ячейки допустим с номером [2,4] вытащить текст

Например, так:
DBGrid.DataSource.DataSet.First;
DBGrid.DataSource.DataSet.MoveBy(2);
MyVar:=DBGrid.DataSource.DataSet.Fields[4].Value;


Rise   (2003-05-26 14:31:00) [10]

мне нужно из ячейки допустим с номером [2,4] вытащить текст


Stas   (2003-05-26 14:27:00) [11]

Если тебе это нужно то так
Dbgrid.SelectedIndex:=1
где 1 это номер ячейки

А если это то так:
Table.Field[0].asVariant
или так
TableFieldByName("MyField").asVariant


Наверх

Титульная страница Поиск, карта сайта Написать письмо