X ++ несвязанный контроль - PullRequest
0 голосов
/ 22 июня 2011

Я новичок в X ++ и хочу поставить несвязанный флажок на вкладке в форме заголовка продаж (SalesTable). Когда кнопка конфигурации линии нажал на нижней половине формы для продажи строка, мне нужно иметь код в этом другом классе проверить состояние включения / выключения несвязанного элемента управления в Форма SalesTable и сделать что-нибудь. я действительно не нужна база данных для записи статуса.

Текущий статус: я поставил флажок форму, увидеть его на дисплее и можете щелкнуть по нему, но не могу сослаться на это.

Как мне относиться к несвязанным управление в форме SalesTable из другого класса и это правильный подход?

1 Ответ

0 голосов
/ 23 июня 2011

Вы не ссылаетесь на несвязанный элемент управления из другого класса, это неправильный подход.

Скорее сообщите другому классу об изменении несвязанного элемента управления.Это делается в измененном методе элемента управления флажком:

boolean modified()
{
    boolean ret = super();
    ;
    salesTableForm.parmSpecialAction(this.value());
    return ret;
}

В этом случае SalesTableForm информируется об изменении флажка, вызывая метод parmSpecialAction (имя выбрано произвольно).

Другой путь (который вы указали в вопросе) - проинформировать класс о существовании элемента управления и позволить классу напрямую вызвать control.value().Однако это обычно делает форму и класс тесно связанными, а это не то, что мы хотим.Элементы управления принадлежат форме, в которой они родились, и не должны передаваться.

По иронии судьбы метод SalesTableForm.enableUpdateJournalButtons нарушает это правило, так как он принимает кнопки управления в качестве параметров.Правильный подход заключается в том, чтобы вычислить (и кэшировать) значения enableWathever в функциях получения, затем позволить форме вызывать получатели и включать или отключать свои собственные кнопки.

...