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

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

DBGrib [D6, Paradox]


sirin ©   (2003-12-15 19:13:00) 

сразу извиняюсь за тупой вопрос, но всё равно подскажите, как можно узнать количество строк в Dbgrid после поиска? то есть нужно узнать не все строки в таблице (это можно сделать через Table1.RecordCount)а именно те, которые на данный момент отображаются в гриде.


Vlad   (2003-12-16 12:25:00) [1]


> sirin © (15.12.03 20:20) [4]

Не понял, причем тут данные в DBMemo?

> то есть при смене хокуса на ячейке, должно менятся содержимое
> привязанных к гриду компонентов...например DBMemo

DBMemo привязан НЕ к гриду, а к источнику данных (DataSource)


sirin   (2003-12-15 20:20:00) [2]

всё почти работае, но не хочет изменятся содержимое DBMemo, он у меня привязан к одному из полей (в гриде тип memo отбражатся не хочет. то есть при смене хокуса на ячейке, должно менятся содержимое привязанных к гриду компонентов...например DBMemo как это можно реализовать?
прошу прощения за беспокойство...


Vlad   (2003-12-15 19:56:00) [3]

Если речь опять же идет о видимыхзаписях то так:

type
TMyDBGrid=class(TDBGrid);
.............
procedure MyProc;
var i,j,oldActive: integer;
begin
oldActive:=TMyDBGrid(DBGrid1).DataLink.ActiveRecord;
for i:=0 to (TMyDBGrid(DBGrid1).DataLink.RecordCount-1) do
for j:=0 to (TMyDBGrid(DBGrid1).DataLink.FieldCount-1) do
begin
TMyDBGrid(DBGrid1).DataLink.ActiveRecord:=i;
// Тут происходит добавление записей в документ Word
end;
TMyDBGrid(DBGrid1).DataLink.ActiveRecord:=oldActive;
end;

Если интересуют все записи в таблице, а не только видимые, тогда простым перебором по DataSet в цикле


sirin   (2003-12-15 19:41:00) [4]

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


Vlad   (2003-12-15 19:27:00) [5]


type
TMyDBGrid=class(TDBGrid);
............
procedure MyProc;
var VisibleRecCount: integer;
begin
VisibleRecCount:=TMyDBGrid(DBGrid1).DataLink.RecordCount;
end;

где DBGrid1 - ваш DBGrid, количество видимых записей которого вы хотите получить.


Наверх

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