Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.08;
Скачать: CL | DM;

Вниз

Отфильтрованный cxGridDBTableView   Найти похожие ветки 

 
миникодер   (2008-12-10 12:37) [0]

Кто знает, как получить доступ к отфильтрованным данным в гриде.
Сам грид привязан к датасету через свойство DataController.Datasource
В отчете нужно отображать только те данные, которые отфильтрованы в гриде. Кто знает, как к ним получить доступ??
Заранее благодарен.


 
Jeer ©   (2008-12-10 13:08) [1]

В каком еще отчете, где здесь отчет ?
А данные берутся не из грида, а из датасета, там же и фильтруют обычно.


 
keymaster ©   (2008-12-10 13:24) [2]

В cxGrid есть встроенный экспорт данных.
Экспортирует данные отфильтрованные как надо.
Смотри модуль cxExportGrid4Link.pas


 
Илья Корстин ©   (2008-12-10 13:28) [3]

Работайте с View.DataController.FilteredRecordIndex и View.DataController.Filter


 
миникодер   (2008-12-10 14:28) [4]


> В каком еще отчете, где здесь отчет ?

В frxReport подключается датасет, который связан с гридом.
В гриде отображаются отфильтрованные данные, а в датасете полностью все строки. Мне нужно только отфильтрованные строки.


 
миникодер   (2008-12-10 14:44) [5]


> Работайте с View.DataController.FilteredRecordIndex и View.
> DataController.Filter

Вы бы не могли привести пример, каким образом получить отфильтрованные данные?


 
Jeer ©   (2008-12-10 15:03) [6]


> В frxReport подключается датасет,


Вот именно, он работает с датасетом, а не с отображаемыми данными.
Разработчики репорта должны были предусмотреть его работу с любыми навороченными гридами ?
Конечно же нет - они предусмотрели его работу со стандартными источниками данных.


 
Илья Корстин ©   (2008-12-10 15:11) [7]


> Вы бы не могли привести пример, каким образом получить отфильтрованные
> данные?

Да как хотите. Например, вот так:
 s := "";
 for i := 0 to View.DataController.FilteredRecordCount - 1 do
   s := s + View.DataController.Values[View.DataController.FilteredRecordIndex[i], ViewID.Index] + ",";
 SetLength(s, Length(s) - 1);

В итоге переменная s будет содержаться перечисления поля ID ("1, 3, 7, 12, 33")

Можете получить значение фильтра конкретного столбца:

vValue := View.DataController.Filter.FindItemByItemLink(Viewf1).Value;

и задать его в Filter / FilterSQL.

Решений много. Ваша задача: задать условия отбора/фильтрации в датасете, аналогичные гридовским


 
YurikGL ©   (2008-12-10 22:04) [8]

ExportGridToExcel экспортирует из cxGrid с учетом текущего фильтра.



Страницы: 1 вся ветка

Текущий архив: 2009.02.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1229124812
No_Dead
2008-12-13 02:33
2009.02.08
iertutil.dll не был найден... как решить проблему?


2-1230052098
neone
2008-12-23 20:08
2009.02.08
Матрица


15-1229004872
Григорьев Антон
2008-12-11 17:14
2009.02.08
Посоветуйте программу для визуальных эффектов


15-1228915193
Саша
2008-12-10 16:19
2009.02.08
Сетап не видит хард, но комп загружается.


2-1230452567
saga-al
2008-12-28 11:22
2009.02.08
Дозапись в текстовый (а не в типизированный) файл без append