禁用GWT中的ListBox项

时间:2014-11-11 13:59:14

标签: java gwt

我想禁用列表框中的关键项,此处:

@Override
        public void onSuccess(Map<A, List<B>> result) {
            listBoxB.clear();
            listBoxB.addItem("-select-", "0");
            for(Entry<A,List<B>> iterator:result.entrySet()) {
                String key=String.valueOf(iterator.getKey().getName());
                List<B> list=iterator.getValue();
                listBoxB.addItem("-"+key+"-", "0");
                for (B b : list) {
                    listBoxB.addItem(b.getName(),
                            String.valueOf(b.getId()));

                    if (selectedB == b.getId()) {
                        listBoxB.setSelectedIndex(listBoxB.getItemCount()-1);
                    }
                }

我只能禁用&#34;选择&#34; &#34; 0&#34; item,但不是其他值为&#34; 0&#34;当我将属性设置为index = 0作为&#34;禁用&#34;。 我在列表框中有以下结构,并且只想要可扩展的Bitem1,NextBitem,......这些不是静态的,它可以改变:

-select-
    -Bitem1-
someitem
someitem
....
    -NextBitem-
someanotheritem
...

请提出任何建议

1 个答案:

答案 0 :(得分:1)

您应该查看OptGroupElement,例如:

OptGroupElement oge = Document.get().createOptGroupElement();   // not selectable
oge.setLabel( "B item 1" ):
oge.appendChild( ... /* Your selectable items */ )
...

// more opt groups here perhaps.
// ...

SelectElement se = listBox.getElement().cast();  // get listbox selection element
se.appendChild( oge ); // ...and add the option group(s).
...

干杯,