22.06.2006, 11:54 | #1 |
Участник
|
Проблемы с созданием Web-Form
1. это только у меня одного, чтобы запретить редактирование поля, нужно ставить свойство AllowEdit непосредственно на этом веб-контроле? Попытки запрета редактирование объекта-контейнера (webGroup) не увенчались успехом.
2. Не удается создать элемент интерфейса (WebEdit), который бы позволял выбрать значение из справочника (lookup). Если уповаю на EDT данного контрола, то вообще ничего не происходит. Если же перекрываю lookup и использую WebTableLookup - то Popup-форма открывается, но она всегда пустая. 3. Опять же, в продолжение темы про lookup - если указать DataSource и DataField, то лукап кнопка появляется автоматом, и лукап соответственно тоже работает. Но как в таком случае фильтровать лукап так, как я хочу? (Перекрыт метод лукап на нем, там идет опять же использование WebTableLookup) Объясните, что я неправильно делаю? Вот код lookupMethod(): Код: client static void webLookupMy() { webTableLookup webTableLookup; Query query; QueryBuildDataSource queryBuildDataSource; QueryBuildRange queryBuildRange; ; webTableLookup = webTableLookup::newParameters(tableNum(MyTable)); webTableLookup.addLookupfield(fieldNum(MyTable, itemId)); webTableLookup.addLookupfield(fieldNum(MyTable, Name)); webTableLookup.selectField(fieldNum(MyTable, itemId)); query = new Query(); queryBuildDataSource = query.addDataSource(tableNum(MyTable)); queryBuildRange = queryBuildDataSource.addRange(fieldNum(MyTable, ItemGroup)); queryBuildRange.value(Params::find().ItemGroup); webTableLookup.parmQuery(query); webTableLookup.run(); } |
|
22.06.2006, 13:32 | #2 |
Участник
|
И вдогонку, раз никто не отвечает, еще один вопрос:
Можно как-то действительно ограничить количество выбираемых строк в гриде?? В свойствах WebGrid стоит: MultiSelect = No, ShowSelectColumn = True Спасибо. |
|
22.06.2006, 14:30 | #3 |
Участник
|
Еще вопрос:
На форме - WebButton - у нее свойство SaveRecord = True При нажатии начинает сохраняться запись, которая не должна - (она заполняется только на следующей закладке мастера). Соответственно - куча ошибок об обязательных полях. Если же ставлю SaveRecord = False, то запись то не сохраняется, но и значения, которые я ввел в контролах на форме (не связанных с каким-то датасорсом), тоже не сохраняются. Как это понимать? Значения контролов пытаюсь получить через WebEditMyEdit.text(); P.S. Временно решил это, поставив на кнопку infolog.clear(); - но это не есть хорошо. Последний раз редактировалось kashperuk; 22.06.2006 в 14:38. |
|
22.06.2006, 14:52 | #4 |
Участник
|
Только без паники ... в веб-формах все хорошо, только кой-чего не всегда работает ...
не смотря на то, что свойство есть реакции на него может не быть ... это общее правило, оно касаетяс в т.ч. и методов, если есть метод, необязательно его перекрытие позволяет вставлять код ... все надо проверять, и куда-нть записывать, я вот уже ничего, не помню . по поводу закладок: переход на др. закладку - это перегенерация формы у клиента, со всеми вытекающими, что введено надо куда-то деть. Приходится это учитывать при проектировании форм. C уважением, itfs. |
|
22.06.2006, 14:59 | #5 |
Участник
|
Дык данные пытаюсь из контрола считать до перерисовки формы.
Считываются они по clicked кнопки. Так вот если saveRecord = false, то там пусто, что до, что после super(); |
|
22.06.2006, 15:00 | #6 |
Участник
|
Далее, кол-во строк в гриде где-то задается чуть ли не на весь EP разом ... надо поискать.
C уважением, itfs. |
|
22.06.2006, 15:08 | #7 |
Участник
|
Цитата:
Сообщение от kashperuk
Дык данные пытаюсь из контрола считать до перерисовки формы.
Считываются они по clicked кнопки. Так вот если saveRecord = false, то там пусто, что до, что после super(); С уважением, itfs. |
|
22.06.2006, 15:26 | #8 |
Участник
|
Так а как же мне получить значение того, что ввел пользователь???
По моим наблюдениям пока, в EP вообще туго очень с unbound (не связанными с DS) элементами. Но эту проблему я решил, хоть и криво, но пока подходит. ЗЫ. И еще, везде все смотрю, где что вызывается, где что не вызывается. Проблема не в этом, на мой взгляд. А вот как быть с первыми двумя?? |
|
22.06.2006, 15:38 | #9 |
Участник
|
Цитата:
Сообщение от kashperuk
1. это только у меня одного, чтобы запретить редактирование поля, нужно ставить свойство AllowEdit непосредственно на этом веб-контроле? Попытки запрета редактирование объекта-контейнера (webGroup) не увенчались успехом.
2. Не удается создать элемент интерфейса (WebEdit), который бы позволял выбрать значение из справочника (lookup). Если уповаю на EDT данного контрола, то вообще ничего не происходит. Если же перекрываю lookup и использую WebTableLookup - то Popup-форма открывается, но она всегда пустая. 3. Опять же, в продолжение темы про lookup - если указать DataSource и DataField, то лукап кнопка появляется автоматом, и лукап соответственно тоже работает. Но как в таком случае фильтровать лукап так, как я хочу? (Перекрыт метод лукап на нем, там идет опять же использование WebTableLookup) Объясните, что я неправильно делаю? После установки этого свойства лукап стал открываться нормально. Это отвечает на вопросы 2 и 3. |
|
22.06.2006, 16:05 | #10 |
Участник
|
Я дико извиняюсь, успел все перезабыть за пол-года .
Но помню точно, что с лукапами на некоторой стадии понимания обходился круто. Уразумев, что они работают только с дата-сорсов поместил все формы на временные талбицы и переписывал в базу вручную .... С уважением, itfs. |
|
22.06.2006, 16:08 | #11 |
Участник
|
Да, я бы так и сделал - и делаю
Просто в этом конкретном случае мне нужно было ограничить лукам (отфильтровать) |
|
22.06.2006, 16:18 | #12 |
Участник
|
Стойте, стойте .... фильтровать ... там же был WebCatBrowseWeblet .... вот им и надо фильтровать ....
С уважением, itfs. |
|
22.06.2006, 16:41 | #13 |
Участник
|
Не, то категоризация - она отображает все данные все равно. (просто можно их отображать по категориям - фильтруя) - но есть возможность нажать "Все" и посмотреть их.
А мне нельзя именно отображать все данные, а только с определенным значением. Да и притом, я еще не знаю, как открыть свою лукап форму, а не стандартную , чтоб туда можно было навесить это WebCatBrowseWeblet - хотя, тогда можно было бы фильтровать сразу в датасорсе |
|
22.06.2006, 16:58 | #14 |
Member
|
Цитата:
Сообщение от kashperuk
...
Это отвечает на вопросы 2 и 3. ... А вопрос 2 в случае без привязки к источнику данных и без программного lookup вы побороли?
__________________
С уважением, glibs® |
|
22.06.2006, 17:02 | #15 |
Участник
|
Нет, если явно не перекрывать lookup, то по EDT он его не подтаскивает.
Хотя, может и не должен. Но в Windows-клиенте ж работает. |
|
22.06.2006, 18:33 | #16 |
Участник
|
Цитата:
Сообщение от kashperuk
Не, то категоризация - она отображает все данные все равно. (просто можно их отображать по категориям - фильтруя) - но есть возможность нажать "Все" и посмотреть их.
А мне нельзя именно отображать все данные, а только с определенным значением. Цитата:
Сообщение от kashperuk
Да и притом, я еще не знаю, как открыть свою лукап форму, а не стандартную , чтоб туда можно было навесить это WebCatBrowseWeblet - хотя, тогда можно было бы фильтровать сразу в датасорсе
С уважением, itfs. |
|
22.06.2006, 18:40 | #17 |
Участник
|
Ну, хоть я уже и решил эту конкретную задачу как написал выше, давайте таки сформулируем задачу след. образом.
На лукап поля на веб-форме повесить обработчик, который будет в качестве лукап формы вызывать "свою" форму, которую я создам в АОТ. Сейчас используется webTableLookup Спасибо |
|
22.06.2006, 19:09 | #18 |
Участник
|
Ну что ж, свою, так свою. А правильно я понимаю, что webTableLookup вас не устроил из-за того, что на его Query не удалось программно установить фильтр?
Если так, то тут что-то не то, поищите по таблицам, на них встречаются методы webLookup*, которые имеют параметры для фильтрации ... и вызывают именно webTableLookup. Эти методы при вызове работают корректно. Почему они именно на таблицах ... тому было найдено какое-то объяснение, но тут меня память опять подводит. С уважением, itfs. |
|
22.06.2006, 20:05 | #19 |
Участник
|
2 itfs:
См. первый пост - там в CODE приведен работающий пример с фильтрацией. (Он не работал, потому что свойстно lookupMethod на контроле стояло Default) Меня же интересует именно подход при вызове формы из АОТ в качестве lookup, так как я в ЕР встречаюсь, можно сказать, впервые. То есть, передача параметров, закрытие и возврат на вызывающую форму (а не в главное меню), и т.д. Спасибо |
|
22.06.2006, 20:32 | #20 |
Участник
|
Веб-лета который бы так делал, я в свое время не встретил. Придется для этого, видимо, писать свой. Наверное кто-нибудь писал, но на мой взгляд игра свеч не стоит.
С уважением, itfs. |
|