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

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

Подсчет строк в гриде. [D7, XP]


FireWind ©   (2007-05-02 17:46:00) 

Доброго времени суток.
Такая проблема.
Есть такой хитрый компонент cxGrid(взят из ExpressQuantumGrid 4), в нем возможно отображение данных из запроса и группировка их по какому либо полю этого запроса.
Так вот мне необходимо посчитать число строк в гриде. Проблема в том, что ВСЕ строки мне не нужны. Мне нужны строки первого уровня. То есть, при группировке создается "дерево": первая строка (+ вложение).
Если не раскрывать эти вложения - то у меня все прекрасно считается, но когда жму на "+", и дерево начинает ветвиться, то мой счетчик начинает считать и эти сабстроки.
Вот и получается, что мне нужны только начальные строки, независимо вложений и способа группировки. А как указать, что считать нужно строки именно ЭТОГО уровня - я не знаю.
Быть может есть более простое решение..


Плохиш   (2007-05-03 11:10:00) [1]


> FireWind   (03.05.07 09:23) [2]

Ну и кто мешает изучить документацию по используемому гриду?


FireWind   (2007-05-03 09:23:00) [2]

Нет, это не выход..
Во-первых: однозначно подсчитать строки в запросе нельзя, потому что в гриде идет группировка по различным столбцам и заранее предугадать КАК сформирует эту группировку юзер - нельзя.
Во-вторых: как вариант, можно обрабатывать результат запроса каждый раз при группировке, но согласитесь, это нужно каждый раз обращаться к базе, как юзверь что то изменит на гриде - это не выход.
Это нужно реализовать возможностями грида, что бы независимо от группировки, он подсчитывал записи первого уровня. Вот как задать уровень подсчитываемых записей - и не знаю.


Правильный Вася   (2007-05-02 20:41:00) [3]

SQL
COUNT + GROUP BY


Наверх

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