| Проблема источника строк списка в ленточной форме |
|
|
| Автор Westry | |||||
| 24.01.2008 г. | |||||
|
Те, кто предпочитает работать с ленточными формами наверняка сталкивались с такой проблемой: источник строк списка должен зависеть от какого-то поля в данной строке. Хороших решений эта проблема не имеет.
Типичное решение выглядит так: на вход в список вешаем событие, в которое включаем обрезку целого списка по условию. На выходе из списка другое событие - возвращаем полный источник. Т.е.
На выход:
На практике происходит следующее. При входе в остальных строках в списке внезапно пропадает инфа. Т.е. поля со списками в других строках становятся пустыми - конечно, на самом деле ничего не пропадает, просто источник строк изменился и в остальных строках (элемент-то управления у нас один на всю форму) и поле со списком не может в других строках подобрать в своем источнике нужную строку для указанного кода. При выходе информация снова появляется в списках. Налицо проблема, исчезновение информации может ввергнуть юзера в шок. Что делать? Я придумал такой выход. Лучшим его назвать язык не повернется, но он прост и не загружает процессор.) Фактически это дополнение к описанному методу. Делаем в таблице поле "nmList". Это поле будет выполнять роль временного хранителя данных. Теперь делаем запрос, который будет обновлять это поле перед входом в форму: нам же известен код, который и определяет строку в поле со списком. Вот в nmList мы помещаем текстовую часть, которая скрывается за кодом. Следующий шаг, дизайн формы. Стягиваем поле со списком вправо до размеров кнопки раскрывающей список. Прилепляем к этой кнопке текстовое поле nmList. Теперь у нас как будто полноценное поле со списком. Дальше, на обновление списка вешаем
Ну чтобы было совсем хорошо, на обновление nmList стоит повесить
Т.е. если юзер обнулит текстовое поле, нам надо обнулить и список. Дерзайте.)
Автор: Dmitry Shakhov |
|||||
| « Пред. | След. » |
|---|


