listgrid isomorphic java gwt smartgwt

java - listgrid - smartgwt isomorphic



Arrastrar y soltar con DataSource basado en XML no funciona en SmartGWT (0)

Estoy usando el ejemplo:

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

pero cambió el origen de datos a archivo XML y ahora no funciona.

El XML utilizado es:

<RootNode> <ChildNode> <ChildID>2</ChildID> <Name>ChildNode1</Name> <ReportsTo>1</ReportsTo> </ChildNode> <ChildNode> <ChildID>3</ChildID> <Name>ChildNode1.1</Name> <ReportsTo>2</ReportsTo> </ChildNode> <ChildNode> <ChildID>4</ChildID> <Name>ChildNode2</Name> <ReportsTo>1</ReportsTo> </ChildNode> <ChildNode> <ChildID>5</ChildID> <Name>ChildNode2.1</Name> <ReportsTo>4</ReportsTo> </ChildNode> <ChildNode> <ChildID>6</ChildID> <Name>ChildNode2.1.1</Name> <ReportsTo>5</ReportsTo> </ChildNode> </RootNode>

mientras que para grid1 y grid2 estoy cambiando los datasources al archivo xml de la siguiente manera:
En lugar de :

grid1.setData(grid1Tree); grid1.getData().openAll();

Estoy usando :

grid1.setAutoFetchData(true); grid1.setDataSource(EmployeeXmlDS.getInstance()); grid1.draw();

Y de manera similar para grid2. Y aquí está la implementación de EmployeeXmlDS:

import com.smartgwt.client.data.DataSource; import com.smartgwt.client.data.fields.DataSourceIntegerField; import com.smartgwt.client.data.fields.DataSourceTextField; public class EmployeeXmlDS extends DataSource { private static EmployeeXmlDS instance = null; public static EmployeeXmlDS getInstance() { if (instance == null) { instance = new EmployeeXmlDS("employeesDS"); } return instance; } public EmployeeXmlDS(String id) { setID(id); setTitleField("Name"); setRecordXPath("/RootNode/ChildNode"); DataSourceTextField nameField = new DataSourceTextField("Name", "Name", 128); DataSourceIntegerField childIdField = new DataSourceIntegerField("ChildID", "Child ID"); childIdField.setPrimaryKey(true); childIdField.setRequired(true); DataSourceIntegerField reportsToField = new DataSourceIntegerField("ReportsTo", "Parent"); reportsToField.setRequired(true); reportsToField.setForeignKey(id + ".ChildID"); reportsToField.setRootValue("1"); setFields(nameField,childIdField,reportsToField); setDataURL("ds/test_data/tree2.xml"); setClientOnly(true); } }

Por favor ayuda.