Form.QuickFilters
| QuickFilters (Свойства элементов) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Атрибут получает список, наименованиями элементов которого являются столбцы таблицы, в которых пользователь ввел значения в быстрый фильтр отбора (быстрые фильтры отображаются в заголовках столбиков таблицы, к которым они были применены), значения элементов заполнены текстовыми значениями фильтров. Если ни один из столбцов не содержит фильтров, будет возвращен пустой список. Обычно функция может использоваться в обработчике события OnBeforeLoadElements, когда требуется наложить фильтры, заданные пользователем на список элементов, загружаемых программно.
Синтаксис
Form.QuickFilters:<Список с текущими быстрыми фильтрами столбцов таблицы, связанной с базой данных (LIST)>
Возвращаемое значение
Возвращает значение типа список.
Примеры
//Фрагмент события OnBeforeLoadElements для таблицы MainTab, где программа сама загружает список элементов
...
aList:=Form.MainTab.QuickFilters;
//Единственный возможный столбик с фильтром в этой таблице -- "ГруппаНоменклатуры"
//Получить его фильтр
СтрГруппа:=Uppercase(aList.GetByName("ГруппаНоменклатуры"));
//bList -- подготовленный список элементов для загрузки в таблицу MainTab
MainTab.Lock();
Try
//Копируем список в основную таблицу
bList.CopyTo(MainTab,1,bList.Size(),"@ELEMENT");
MainTab.Select();
While MainTab.Next() Do
Эл:=MainTab.Get(MainTab.CurLine,"@ELEMENT");
//Заполняем дополнительные столбики таблицы
MainTab.isFolder:=Эл.ГруппаНоменклатуры.isFolder();
MainTab.ГруппаНоменклатуры:=Эл.ГруппаНоменклатуры;
MainTab.Сумма:=Эл.Сумма;
MainTab.Процент:=Эл.Процент;
//Накладываем быстрый фильтр, если он был установлен
If СтрГруппа<>"" Then
Стр:=Uppercase(Эл.ГруппаНоменклатуры);
If Pos(СтрГруппа,Стр)=0 Then
MainTab.CurLine:=MainTab.CurLine-1;
MainTab.Remove(MainTab.CurLine+1);
Continue;
EndIf;
EndIf;
EndDo;
//Сортируем таблицу с учетом пожеланий пользователя
Стр:="isFolder-"+?(Form.MainTab.SortString="","",","+Form.MainTab.SortString);
MainTab.Sort(Стр);
Finally
MainTab.Unlock();
EndTry;