SmartGWT MenuItem show Проверено на canSelect (false) - PullRequest
0 голосов
/ 26 июня 2018

У меня проблема в моем SmartGWT-приложении.

Я должен отобразить различные организации в меню, где пользователь может их видеть и изменять свою организацию.

Но дело в том, что он должен видеть активную Организацию, видеть, что конкретная Организация активна, но он не должен быть в состоянии щелкнуть по ней.

Вот мой код:

if(menuItemList[location].getAttribute("id").equals(USER_MANAGER.getUserOrganisation())){
    menuItemList[location].setChecked(true);
    menuItemList[location].setCanSelect(false);
}else{
    menuItemList[location].setChecked(false);
    menuItemList[location].setCanSelect(true);
}

Проблема в том, что SmartGWT не показывает значок с галочкой (галочка), если MenuItem имеет значение «canSelect (false)».

Также нет разницы в сгенерированном HTML-коде, который позволяет мне видеть, является ли MenuItem тем же с активной организацией.

У кого-нибудь есть обходной путь или знаете, что я сделал не так?

1 Ответ

0 голосов
/ 27 июня 2018

Я нашел решение:

Я использовал неправильный обработчик событий для того, что я хотел сделать.

Так как я позволил MenuItem генерировать с DataSource, а не напрямую, эти элементы не существуют на момент выполнения кода

ранее я использовал DrawHandler(), и у Элемента не было идентификатора в данный момент (по крайней мере, я так думаю).

, поэтому мой if(){}else{} не будет делать так, как я хотел.

Но с MembersChangedEvent код выполняется после того, как Элемент получает свой идентификатор, и поэтому Элементы могут проверить свой идентификатор с идентификатором из моего USER_MANAGER.

Надеюсь, это поможет кому-то с такой же проблемой

...