TreeGrid и источник данных: нет объектов для отображения
Я хочу сделать сетку деревьев, я следовал этому примеру:
http://www.smartclient.com/smartgwt/showcase/
Нет ошибок компиляции, но дерево всегда пусто: Сообщение: Нет элементов для отображения. где я должен разместить datasource.xml? Я использую eclipse, jboss и smartgwt
1 ответ
Вам нужно использовать только клиентский источник данных с необходимым 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 в доступное место в вашем веб-приложении.
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/
http://www.smartclient.com/smartgwt/showcase/
В витрине SmartGWT, когда выбран "Просмотр источника", может быть несколько файлов, связанных с образцом.
Если есть несколько файлов, они будут перечислены как вкладки вместе с основным исходным файлом.