Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];

Вниз

Отфильтрованный 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
8-1190348540
BAHO_KEX
2007-09-21 08:22
2009.02.08
Как добавить в ListBox имена файлов


2-1230383918
Te
2008-12-27 16:18
2009.02.08
SQL в delphi


2-1230284005
Шакал
2008-12-26 12:33
2009.02.08
Next


3-1214292059
MsGuns
2008-06-24 11:20
2009.02.08
MySQL 5.0 - "клон" Interbase ?


2-1230055107
kami
2008-12-23 20:58
2009.02.08
Доступ к открытому собой файлу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский