|
16.09.2009, 15:46 | #1 |
Участник
|
Фильтр по полю и lookup
Здравствуйте. Перекрыли метод lookup на поле датасорса, добавили всяких фильтров там, все работает. НО если в выпадающем списке сделать "Фильтр по полю" и ввести значение которое отфильтровалось (не видно в выпадающем списке), то он его находит. Что можно сделать???
__________________
Лучше сделать и жалеть, чем жалеть что не сделал |
|
16.09.2009, 16:04 | #2 |
Участник
|
Можно сделать sql-ный фильтр по какому-нибудь ненужному пользователю полю, например по dataAreaId.
X++: qbds.addrange(fieldnum(table1,dataAreaId)).value("field1=filter"); Такой фильтр пользователь снять не сможет. |
|
17.09.2009, 11:51 | #3 |
Участник
|
А по подробней про locked можно?
__________________
Лучше сделать и жалеть, чем жалеть что не сделал |
|
17.09.2009, 12:11 | #4 |
Участник
|
X++: qbds.addrange(fieldnum(table1,dataAreaId)).value("field1=filter"); qbds.findRange(fieldnum(table1,dataAreaId)).status(RangeStatus::Locked);
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|
17.09.2009, 12:21 | #5 |
Участник
|
X++: QueryBuildDataSource qbds; QueryBuildRange qbr; ; qbr = qbds.addrange(fieldnum(table1,dataAreaId)).value("field1=filter1 && field2=filter2"); qbr.status(1);//locked //или можно //qbr.status(2); //hidden |
|
16.09.2009, 16:29 | #6 |
Гость
|
не забудьте еще validate перекрыть
а то юзер он такой, не дали в лукапе выбрать - забъет тупо ручками =) |
|
17.09.2009, 12:33 | #7 |
NavAx
|
на самом деле спасет только hidden, locked можно спокойно обойти, если сделать поиск по этому полю.
точнее самый надежный вариант, это если приджоинить второй датасорс с такой же таблицой и фильтровать в нем, или не показывать на форме поля с фильтрами. всё остальное обходится через поиск. Последний раз редактировалось raz; 17.09.2009 в 12:43. Причина: 1 |
|
|
За это сообщение автора поблагодарили: kalex_a (1). |
17.09.2009, 12:55 | #8 |
Участник
|
Так?
X++: qbds.addrange(fieldnum(PurchTable_request,dataAreaId)).value("dat"); qbds.findRange(fieldnum(PurchTable_request,dataAreaId)).status(RangeStatus::Hidden);
__________________
Лучше сделать и жалеть, чем жалеть что не сделал |
|
17.09.2009, 13:11 | #9 |
Участник
|
Цитата:
X++: qbds.addrange(fieldnum(PurchTable_request,dataAreaId)).value("PurchTable.InvoiceAccount = 012345")
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|
17.09.2009, 13:09 | #10 |
Участник
|
Для какого поля фильтр то надо сделать? Зачем фильтр 'dat'?
|
|
17.09.2009, 13:11 | #11 |
Участник
|
тут можно посмотреть пример:
\Forms\Address\Data Sources\Address\Methods\addQuerySalesTable
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|
17.09.2009, 13:16 | #12 |
Участник
|
Цитата:
точнее самый надежный вариант, это если приджоинить второй датасорс с такой же таблицой и фильтровать в нем.
__________________
Лучше сделать и жалеть, чем жалеть что не сделал |
|