Применение фильтра к отфильтрованному гриду

Добрый день!

Коллеги, подскажите, какой есть правильный способ получить все данные, находящиеся в гриде некоторого раздела, когда уже установлены некоторые фильтры динамической группы и быстрые фильтры для текущего грида?

Задача в чем. Нужно получить это уже отфильтрованный грид, наложить на него свой фильтр и отобразить его.

Нужен код, которым я могу вычитать данные из нужного мне грида и засэтить обратно после наложения своего фильтра.

Эти темы перечитывал:
https://community.terrasoft.ru/forum/topic/12723
https://community.terrasoft.ru/forum/topic/12327
https://community.terrasoft.ru/forum/topic/10834
https://community.terrasoft.ru/forum/topic/10764
https://community.terrasoft.ru/forum/topic/12978
https://community.terrasoft.ru/forum/topic/9063
https://community.terrasoft.ru/blogs/9136

Похожее, но не то...

Заранее благодарю!

P.S.: Прошу прощения за бестактность, но! Где можно узнать, какие методы и свойства мне доступны для какого-либо объекта в системе? Хоть какое-то минимальное SDK с объяснениями, пусть даже на китайском языке! Банально не хватает технической литературы по кодингу... =(

Нравится

6 комментариев

Виталий, минимальный SDK находится здесь.
Свойства можно посмотреть в Visual Studio, подключившись к отладке сайта.
Возможно, то, что Вам нужно, можно посмотреть в скрипте ScriptBasePrepareFilters страницы BaseModulePage (базовая страница раздела). Там делается похожее, берётся датасорс страницы и добавляются и удаляются нужные фильтры. Также см. в других функциях и скриптах той же страницы.

Александр, как всегда выручаете) Спасибо за SDK! Ее находил. Думал, что есть еще какая-либо, которой пользуются немолодые программисты Terrasoft. Да вот только новый вопрос появился...

В исходном коде BaseModulePage в указанном Вами скрипте ScriptBasePrepareFilters имеется действительно все то, что мне нужно. НО! SDK не содержит описания метода CreateFiltersGroup. Вот и вопрос: какие перегрузки для него имеются и отработает ли он вообще? Я, конечно же, буду сейчас пробовать, но тем не менее, последний вопрос остается открытым... Выходит, что SDK не полная?

В SDK есть не всё. Намного больше можно узнать, просто выгрузив исходники конфигурации в виде cs-файлов и их изучая.

Тут на Community есть много примеров вызова этого метода. Похоже, всюду используется одна и та же перезагрузка, с 2 параметрами: текстовое название группы латинскими буквами и логическая операция («LogicalOperationStrict.And» или «LogicalOperationStrict.Or»).

Вас понял - спасибо за наставления!

Осталось решить последнее. Подскажите, каков код для обновления моего грида? Я выполняю следующий код для добавления в грид значений после применения фильтра:

Page.DataSource.LoadRows();

но предыдущие строки грида остаются (что, собственно, логично). Надо вручную обновлять, а это неудобно. В SDK, кстати, не нашел ничего о LoadRows, DataSource, Refresh, Reload, Update, Init и др.... =(

	Page.TreeGrid.Clear();
	Page.DataSource.LoadRows();

Теперь точно всё! Александр, еще раз Вам спасибо за помощь! Хорошего дня!

Показать все комментарии