TreeGrid和datasource:没有要显示的项目

时间:2013-06-26 00:42:32

标签: java eclipse datasource smartgwt treegrid

我想创建一个treegrid,我按照这个示例:

http://www.smartclient.com/smartgwt/showcase/#featured_tree_grid

没有编译错误,但树总是空的:消息是:没有要显示的项目。 我应该在哪里放置datasource.xml? 我正在使用eclipse,jboss和smartgwt

1 个答案:

答案 0 :(得分:0)

您需要将仅具有客户端的DataSource与所需的.xml文件一起使用。

datasource.xml基于示例:

<List>  
    <employee>  
        <EmployeeId>4</EmployeeId>  
        <Name>Charles Madigen</Name>  
        <Job>Chief Operating Officer</Job>  
    </employee>  
    <employee>  
        <EmployeeId>192</EmployeeId>  
        <Name>Ralph Brogan</Name>  
        <Job>Mgr Software Client Supp</Job>  
    </employee>  
</List>  

将datasource.xml放在Web应用程序的可访问位置。

http://<host>:<port>/testApp/data/datasource.xml

DataSource类:

public class EmployeeXmlDS extends DataSource {  

    public EmployeeXmlDS(String id) {

        setRecordXPath("/List/employee"); // <== set proper XPath based on data

        // other initialization and DataSourceField creation

        setDataURL("data/datasource.xml"); // <== set Data URL based on above location
        setClientOnly(true);
    }
}

创建树网格:

TreeGrid treeGrid = new TreeGrid();
// treeGrid.set* and other methods

TreeGridField nameField = new TreeGridField("Name", 150);
TreeGridField jobField = new TreeGridField("Job", 150);

treeGrid.setFields(nameField, jobField);

EmployeeXmlDS employeesDS = EmployeeXmlDS.getInstance();
treeGrid.setDataSource(employeesDS); // <== set the data source

注意:上面仅列出了代码的重要部分。

还可以手动将节点添加到树中 http://www.smartclient.com/smartgwt/showcase/#tree_checkbox
http://www.smartclient.com/smartgwt/showcase/#tree_interaction_drag_reparent

在SmartGWT展示中,当选择“查看来源”时,可能会有多个与样本相关的文件。
如果有多个文件,它们将与主源文件一起列为选项卡。