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

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

DBGrid: [D6]


Makhanev A.S. ©   (2003-02-08 15:04:00) 

Как узнать кол-во строк в гриде?

Варианты с Dataset.RecordCount не годятся.
Дело в том, что я использую TRxMemoryData, где после фильтрации RecordCount не зименяется :( (может глюк такой?)


Makhanev A.S.   (2003-02-09 22:58:00) [1]


> kerkonst © (08.02.03 21:26)

не помогло


> Романов Р.В. © (08.02.03 21:44)

посмотрю, я не DBGrid использую... Если научусь отключать прорисовку грида без очистки его канвы, то - вариант.


> Dmitry Filippov © (09.02.03 10:11)

Данный метод отображает только видимоекол-во записей.
У меня TExDBGrid.


> Dmitry Filippov © (09.02.03 10:16)

Вариант прямого преобразования типов (TRxMemoryData -> TClientDataSet) не прошёл, кол-во записей осталось НЕправильным.


Dmitry Filippov   (2003-02-09 10:16:00) [2]

Здесь говорят о фильтрованых таблицах - правильное количество отфильтрованных записей дает только ClientDataset остальные фильтруют на лету по мере надобности для контрола или программиста, по этому или переходить на ClientDataSet или пересчитывать через цикл.


Dmitry Filippov   (2003-02-09 10:11:00) [3]

TMyClassGrid=class(TStringGrid)
public
property RowCount;
end;

procedure Tform1.xxx(Sender:TObject);
var MyVariable:Integer;
begin
MyVariable:=TMyClassGrid(DBGrid1).RowCount;
//Количество строк в Gride
//Можно отнять кол-во строк в заголовке(обычно 1)- получится
//кол-во записей
end;


Романов Р.В.   (2003-02-08 21:44:00) [4]

А записей много? Может их в цикле посчитать?


kerkonst   (2003-02-08 21:26:00) [5]

Когда-то было что-то похожее.
Помогло Table.Last; Table.RecNo


Makhanev A.S.   (2003-02-08 21:24:00) [6]

Поясняю:
при наложении фильтра на TTable кол-во записей меняется. Это нормально.

при наложении фильтра на TRxMemoryData кол-во записей не меняется, т.е. не уменьшается. Это НЕнормально.

Я использовал TTable и всё было ОК.
Теперь я использую TRxMemoryData и для определения кол-ва отфильтрованных записей не могу использовать ReccordsCount.

Возможным выходом вижу определение строк в соответствующем гриде.


Desdechado   (2003-02-08 15:50:00) [7]

помню, натыкался на особенность TQuery, когда в зависимости от состояния CachedUpdates и RequestLive наложение фильтра давало разное кол-во записей. Похоже, проблема того же порядка.


Романов Р.В.   (2003-02-08 15:29:00) [8]

Так все таки в DBGrid или в Dataset это разные вещи.


Наверх

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