Кто-нибудь знает, как отобразить значок и текст для поля отображения в ext-gwts combobo? Я перепробовал все.
В третьем ComboBox
этого примера ( klick me ) есть значок и текст для выбираемых значений. Это не было проблемой с примером шаблона. Но я хочу показать значок и текст для выбранного значения тоже. Как я могу справиться с этим?
У меня есть класс Model для значка и текста.
public class Language extends DbBaseObjectModel {
private static final long serialVersionUID = 8477520184310335811L;
public Language(String langIcon, String langName) {
setLangIcon(langIcon);
setLangName(langName);
}
public String getLangIcon() {
return get("langIcon");
}
public String getLangName() {
return get("langName");
}
public void setLangIcon(String langIcon) {
set("langIcon", langIcon);
}
public void setLangName(String langName) {
set("langName", langName);
}
}
Вот как я инициализирую ComboBox. Я хочу изменить displayField "langName".
final ListStore<Language> countries = new ListStore<Language>();
final Language german = new Language("de_DE", "Deutsch");
final Language english = new Language("en_GB", "Englisch");
countries.add(german);
countries.add(english);
final ComboBox<Language> combo = new ComboBox<Language>();
combo.setWidth(100);
combo.setStore(countries);
combo.setDisplayField("langName");
combo.setTemplate(getFlagTemplate());
combo.setTypeAhead(true);
combo.setTriggerAction(TriggerAction.ALL);
combo.setValue(german);
Это шаблон для ComboBox
двух отображаемых выбираемых значений.
private native String getFlagTemplate() /*-{
return [ '<tpl for=".">', '<div class="x-combo-list-item">',
'<img src="resources/images/lang/{langIcon}.png">',
' {langName}</div>', '</tpl>' ].join("");
}-*/;
Как я могу использовать шаблон для displayField или есть другая возможность?
Спасибо!