#java #gwt #combobox #editor #gxt
#java #gwt #со списком #редактор #gxt
Вопрос:
Используя Java и GWT, у меня есть contentGrid с пользовательским определением столбца и хранилищем контента.
В одном из столбцов таблицы должно отображаться поле со списком с несколькими параметрами. Поле со списком и его содержимое определены как таковые:
ComboBox comboBox = new ComboBox();
SimpleStore comboBoxStore = new SimpleStore( new String[]{"text","id"}, new String[][] { new String[] {"John", "Mike"} , new String[] {"1","2"} } );
comboBoxStore.load();
comboBox.setDisplayField( "text" );
comboBox.setValueField("id" );
comboBox.setStore( comboBoxStore );
comboBox.setForceSelection( true );
comboBox.setEditable( false );
nameColumnConfig.setEditor(new GridEditor( comboBox ));
Затем сетка отображается правильно, при двойном щелчке nameColumnConfig отображается поле со списком с правильными элементами «John» и «Mike».
Но когда я нажимаю на один из этих параметров и щелкаю по сетке, чтобы она «обновилась» сама, в выпадающем списке отображается идентификатор выбранного параметра, а не его displayField.
Я некоторое время искал решение, и я не нашел ничего, что могло бы удаленно сообщить мне, как это решить или в чем причина.
Я был бы очень признателен за любую помощь или понимание в этой проблеме.
Спасибо.
Комментарии:
1. Я опасался, что этот вопрос, возможно, был слишком конкретным. Я искал, и у некоторых людей были похожие проблемы, но с использованием gtw-ext в javascript. Их решения, похоже, не применимы к проекту на основе Java. Я все еще сталкиваюсь с этой проблемой…
2. Я нашел тему на форуме extjs sencha.com/forum /… . Сообщается об ошибке, из-за которой фильтр хранилища не очищается. Не уверен, что это проблема в gwt framework, но я пока что разберусь в этом.
Ответ №1:
Вместо того, чтобы указывать вот так—
comboBox.setDisplayField( "text" );
comboBox.setValueField("id" );
Вы должны сделать что-то вроде
comboBox.setDisplayField( "text" );
comboBox.setValueField("text" );
конечно, вы получите ответ.