|
03.06.2005, 13:15 | #1 |
NavAx
|
Сортировка и/или фильтры в lookup форме - howto.
Доброго времени суток!
В какой-то момент перед человеком, редко писавшим lookup формы, встала задача отсортировать её по нужному полю, да еще и фильтров навешать. Стандартные методы не срабатывали, поскольку datasource_q был все время null (поскольку у формы AutoQuery = No) и модифицировать его не получалось - тетка Аксапта, ессно, ругалась. Поиск по конференция ничего не дал и в ФАКах было пусто. Пришлось идти к сэнсеям. Как оказалось, сэнсеи уже не раз отвечали на этот вопрос и задолбались уже на него отвечать. Так вот - для того, чтобы восполнить этот пробел, я решил написать этот топик. Кстати, штука довольно неочевидная... В общем, если стоит задача сделать фильтрацию и/или сортировку данных в собственной lookup форме ( не забывать - AutoQuery = No !), то сделать это стандартными методами (взять у datasource формы Query, добавить поля сортировки, добавить фильтры) в init'е, скажем, datasource'а формы не получится. Вместо этого следует сделать следующее: В init'е datasource'а формы создать новый "левый" Query. PHP код:
Затем нафаршировать его нужными сортировками и фильтрами. Далее - сказать магическое сочетание: PHP код:
Далее остается вызвать super(); Участие в написании принимали Lexx, Aand, и ваш покорный слуга. Всё. Комментарии - welcome. |
|