-
миникодер (10.12.08 12:37) [0]Кто знает, как получить доступ к отфильтрованным данным в гриде.
Сам грид привязан к датасету через свойство DataController.Datasource
В отчете нужно отображать только те данные, которые отфильтрованы в гриде. Кто знает, как к ним получить доступ??
Заранее благодарен. -
В каком еще отчете, где здесь отчет ?
А данные берутся не из грида, а из датасета, там же и фильтруют обычно. -
В cxGrid есть встроенный экспорт данных.
Экспортирует данные отфильтрованные как надо.
Смотри модуль cxExportGrid4Link.pas -
Илья Корстин © (10.12.08 13:28) [3]Работайте с View.DataController.FilteredRecordIndex и View.DataController.Filter
-
миникодер (10.12.08 14:28) [4]
> В каком еще отчете, где здесь отчет ?
В frxReport подключается датасет, который связан с гридом.
В гриде отображаются отфильтрованные данные, а в датасете полностью все строки. Мне нужно только отфильтрованные строки. -
миникодер (10.12.08 14:44) [5]
> Работайте с View.DataController.FilteredRecordIndex и View.
> DataController.Filter
Вы бы не могли привести пример, каким образом получить отфильтрованные данные? -
> В frxReport подключается датасет,
Вот именно, он работает с датасетом, а не с отображаемыми данными.
Разработчики репорта должны были предусмотреть его работу с любыми навороченными гридами ?
Конечно же нет - они предусмотрели его работу со стандартными источниками данных. -
Илья Корстин © (10.12.08 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 © (10.12.08 22:04) [8]ExportGridToExcel экспортирует из cxGrid с учетом текущего фильтра.