2013-02-25 77 views
0

我想將我的服務綁定到ListBox,但我無法綁定它。
//服務類如何將對象列表綁定到GWT中的ListBox?

public class Service { 
    private String serviceName; 

    public Service(String serviceName) { 

     this.serviceName = serviceName; 
    } 

    public String getServiceName() { 
     return serviceName; 
    } 

    public void setServiceName(String serviceName) { 
     this.serviceName = serviceName; 
    } 

    } 

// SignUpBean類

public class SignUpBean { 
     private List<Service> services; 

    public List<Service> getServices() { 
     return services; 
    } 

    public void setServices(List<Service> services) { 
     this.services = services; 
    } 
} 

以下是我的主編輯

public class SignUpEditor extends SimplePanelimplements Editor<SignUpBean> { 

    public ListBox services; 
public void SignUpEditor(){ 
services.addItem("Service1"); 
    services.addItem("Service2"); 
setWidget(services); 
} 
} 

我沒有得到任何錯誤,但我想我必須使用ListEditorCompositeEditor。但我不知道。任何人都可以建議如何綁定ServiceListBox

回答

0

ListBox假設是一個LeafValueEditor。從概念上講,我們不編輯列表框中的列表。相反,我們從列表中選擇一個值,該值將顯示在選擇中。所以,ListBox只包含一個值,因此ListBox必須是葉值編輯器。

當前沒有GWT支持將列表直接綁定到ListBox。我們必須編寫一個擴展ListEditor的適配器(請參閱HasDataEditor類以獲取更多詳細信息)。這種做法很奇怪。

簡單的方法是編寫一個實現LeafValueEditor的適配器<列表< String>>。在適配器的setValue方法中,我們應該遍歷列表併爲列表中的每個值調用listBox.addItem。

我不推薦這兩種方法,只是因爲ListBox的LIST is NON EDITABLEVALUE is EDITABLE。我建議不用編輯器手動執行addItems。

已更新:HasDataAdapter是一個ListEditor示例。請參閱該實施。你可能會有一些想法。

相關問題