AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.06.2007, 11:32   #1  
rkorchagin is offline
rkorchagin
Участник
 
81 / 69 (3) ++++
Регистрация: 26.09.2006
? Как использовать метод layout для Web контролов, и использование JavaScripta
Добрый день!

Была задача поставить checkBox на веб-страницу и чтобы по клику - другой контрол (comboBox) становился enabled/disabled.

Я решил эту проблему добавив в класс WebFormHtml, в метод layotCheckBox следующий код (помечен TE-rko):

X++:
void layoutCheckBox(FormWebCheckBox fwcb)
{
    boolean allowedit,mandatory,enabled;

   .....

    #Output(' name="'+this.controlName(fwcb)+'"');

// [AGR6988]CUS-Modification on 28.03.2007 by TE-rko added - start
    if (this.controlName(fwcb) == 'AGR_EPFarmerRegisteredUsers_InvoicePaym')
        #Output(' onclick="InvoicePaym_OnClick()"');
// [AGR6988]CUS-Modification on 28.03.2007 by TE-rko added - end

..........
    #Output('></td>\n');



// [AGR6988]CUS-Modification on 28.03.2007 by TE-rko added - start
 if (this.controlName(fwcb) == 'AGR_EPFarmerRegisteredUsers_InvoicePaym')
 {
    #Output('<SCRIPT LANGUAGE=javascript>\n');
    #Output('function InvoicePaym_OnClick()\n');
    #Output('{\n');
    #Output('if (document.'+_webrun.name()+'.AGR_EPFarmerRegisteredUsers_InvoicePaym.checked == false)\n');
    #Output('  { document.'+_webrun.name()+'.AgrHomeShopId.value = 1;\n');
    #Output('    document.'+_webrun.name()+'.AgrHomeShopId.disabled = true; }\n');
    #Output('else\n');
    #Output(' {  document.'+_webrun.name()+'.AgrHomeShopId.disabled = false;}\n');
    #Output('}\n');
    #Output('window.onload = function()\n');
    #Output('{\n');
    #Output('  InvoicePaym_OnClick();\n');
    #Output('}\n');
    #Output('</SCRIPT>\n');
 }
// [AGR6988]CUS-Modification on 28.03.2007 by TE-rko added - end
}

Всё работает, но вопрос - нельзя ли было это обойти как нибудь через layout или какой другой метод у контрола или конкретной веб-формы,- чтобы не менять системный класс таким "хардкодингом"?

Как вообще работает layout?

Заранее спасибо!
Старый 28.06.2007, 13:41   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Возможно, вам нужен контрол на форме с типом WebUserDefined. В методе layout() которого можно прописать вывод любого HTML (или JavaScript) кода.
__________________
С уважением,
glibs®
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Inside Dynamics AX 4.0: The Web Framework Blog bot DAX Blogs 0 25.10.2007 03:04
Метод addRange() и его использование (верное) Akinak DAX: Программирование 8 06.04.2007 00:32
Pokluda: Outbound web service (AIF) Blog bot DAX Blogs 0 28.10.2006 17:43
Solutions Monkey: EP Web Part connection Blog bot DAX Blogs 0 28.10.2006 16:40
Подскажите как использовать метод Edit vasiliy DAX: Программирование 1 30.03.2005 09:45

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:45.