Фильтр
Модераторы: m0p3e, edward_K, Модераторы
Фильтр
Вобщем есть задача:
для списка данных в галактике, аля browse, сделать фильтр по правой кнопке. Проблема в том, что надо сделать это на окне интерфейса Г., а не собственной разработки.
функции:
Можно запустить алгоритм по правой кнопке
Мысли:
Есть стандартный функционал "Фильтр" возможно ли его использование? т.е. автоматическое создание данного фильтра и применение, ну и снятие конечно.
Докомпиляцией ченидь начудить, только это крайние меры, можно ли каким то образом без этого.
Есть у кого какие предложения?
для списка данных в галактике, аля browse, сделать фильтр по правой кнопке. Проблема в том, что надо сделать это на окне интерфейса Г., а не собственной разработки.
функции:
Можно запустить алгоритм по правой кнопке
Мысли:
Есть стандартный функционал "Фильтр" возможно ли его использование? т.е. автоматическое создание данного фильтра и применение, ну и снятие конечно.
Докомпиляцией ченидь начудить, только это крайние меры, можно ли каким то образом без этого.
Есть у кого какие предложения?
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Re: Фильтр
наверно это будет очень сложно
контекстное меню так..
фильтр... эээ.. там же должны все индексы совпасть .. т.е. если уже есть фильтры и сортировки в этом brows то и ваши дополнительные ограничения надо плюсовать в словарь - это докомпиляция .. наверно проще свой написать...
контекстное меню так..
Код: Выделить всё
const
cmMenu02 = 455668;
End;
//служебное меню модуля
iPrj_Menu menu
{
- 'Удалить запись', cmMenu02,'',hcWindows,,,scMenuContext;
}
HandleEvent
cmHotKeys:
PutHotCommand(RunMenu('iPrj_Menu'));
cmMenu02:
{
}
Время ведет!
Re: Фильтр
Тогда если юзать стандартное - треугольничек с отростком )))Г. )) - туда создать фильтр программно какой нужно и применить его. Как такое сделать?
Последний раз редактировалось n0where 01 июн 2011, 15:09, всего редактировалось 1 раз.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Re: Фильтр
Если не брать в расчет стандартную возможность по установке пользовательского фильтра Ctrl+A, то остается только докомпиляция. Ничего страшного в ней нет, но в случае расширения логической таблицы вслепую (без исходников) сделать будет довольно проблематично. Меню докомпиляется вообще без проблем.
Re: Фильтр
Я про это и говорю. Как там создать фильтр, потом его применить и потом отменить программноm0p3e писал(а):Если не брать в расчет стандартную возможность по установке пользовательского фильтра Ctrl+A
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Фильтр
Открываем VipProgr.chm, ищем "Методы работы с фильтрами", применить можно например так PushFilter ... Про создание там нет ничего.
Re: Фильтр
Живой примерчик.
Как добавить пункт в стандартное меню - уже обсуждалось.
Код: Выделить всё
Alter Interface DepartIer (fix 'Филиальность')
Create View
var Branches : LongInt;
as select CatForHist.atl_branch
from synonym Catalogs CatForHist
Where (( CatHist.cCat /== CatForHist.nrec ))
condition ByFilial = Container_Search ( Branches,CatForHist.Atl_Branch, 0 )
and iCatFunc.GetSysCodeIer ( CatForHist.nrec ) = SetEntry
;
HandleEvent
cmOnVipLoad :
{
inherited::handleevent(cmOnVipLoad);
Branches := GetCurrentBranches;
If not ConditionActive ( tcByFilial )
PushConditionForLeave ( tcByFilial, tnCatForHist );
};
End;
end.
Re: Фильтр
Загрузить (но не наложить!) фильтр по заданному имени из ресурса.edward_K писал(а):Открываем VipProgr.chm, ищем "Методы работы с фильтрами", применить можно например так PushFilter ... Про создание там нет ничего.
Как создать данные фильтры в ресурсе?
m0p3e
Спасибо попробую.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Фильтр
Так, например:n0where писал(а):Как создать данные фильтры в ресурсе?
1) Заходите в нужный интерфейс, нажимаете Ctrl + A, создаете нужный фильтр.
2) Идете в Сервис - Конфигуратор - Параметры -DataBase. Ищете параметр FiltersResource.
3) Идете по пути, указанному в FiltersResource , копируете файл ресурса и подключаете его всем
Re: Фильтр
Vik
Статичный не нужен. нужен динамичный.
Статичный не нужен. нужен динамичный.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Фильтр
Дык вы можете использовать в статичном имя какого то вычисляемого поля
if(foundMarker(MarkerDoc.table.nrec),true,false) (fieldname=ddd)
в фильтре(строчном) например ddd=true
Мне лично больше нравятся жесткие подцепки по временной табле в bounds - это шустрее condition работает, но требует больших затрат на реализацию.
if(foundMarker(MarkerDoc.table.nrec),true,false) (fieldname=ddd)
в фильтре(строчном) например ddd=true
Мне лично больше нравятся жесткие подцепки по временной табле в bounds - это шустрее condition работает, но требует больших затрат на реализацию.