venu
22 Jan 2009, 1:17 AM
Hi,
I am working with GWT+GXT+JSon.
I had a spring-hibernate-json application running on jboss on my machine.
When i browse the url:
http://localhost:9090/springdemo/diagnosis/list.do
i get the following json string on return.
{"results":[{"id":"11111111333","dispatchType":"WL","level":1,"status":"PENDING","description":"test demo","active":1,"code":"1234"},{"id":"ff8081811ef9c1de011ef9c2473d0001","dispatchType":"WL","level":1,"status":"PENDING","description":"Tetsing","active":1,"code":"3434"}],"total":2}
Problem:
--------
Now i had another application using GWT and GXT Paging Grid.
I am using json reader to read data from above given url.
code
=====================================================================================
public class DiagnosisList extends LayoutContainer {
public DiagnosisList() {
}
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
//Layout for container
FlowLayout layout = new FlowLayout();
setLayout(layout);
setPagePosition((Window.getClientWidth()/2)-300, (Window.getClientHeight()/2)-200);
//Grid Column Configs
List<ColumnConfig> columnConfigList = new ArrayList<ColumnConfig>();
ColumnConfig colConfig = null;
colConfig = new ColumnConfig();
colConfig.setId("id");
colConfig.setHeader("ID");
colConfig.setWidth(100);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("code");
colConfig.setHeader("Code");
colConfig.setWidth(100);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("description");
colConfig.setHeader("Description");
colConfig.setWidth(150);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("dispatchType");
colConfig.setHeader("Dispatch Type");
colConfig.setWidth(100);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("status");
colConfig.setHeader("Status");
colConfig.setWidth(100);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("level");
colConfig.setHeader("Level");
colConfig.setWidth(50);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("active");
colConfig.setHeader("Active");
colConfig.setWidth(50);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
ColumnModel columnModel = new ColumnModel(columnConfigList);
//Incoming data model type
ModelType type = new ModelType();
type.root = "results";
type.totalName = "total";
type.recordName = "id";
type.addField("id");
type.addField("code");
type.addField("description");
type.addField("dispatchType");
type.addField("status");
type.addField("level");
type.addField("active");
//Prepare the Request
//RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "data/diagnosis.json");
String url = "http://127.0.0.1:9090/springdemo/diagnosis/list.do";
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
HttpProxy proxy = new HttpProxy(builder);
//ScriptTagProxy<Object, PagingLoadResult<ModelData>> proxy = new ScriptTagProxy<Object, PagingLoadResult<ModelData>>(url);
//Reading JSon data
JsonReader<PagingLoadConfig> reader = new JsonReader<PagingLoadConfig>(type) {
@Override
protected ListLoadResult newLoadResult(PagingLoadConfig loadConfig, List<ModelData> models) {
PagingLoadResult result = new BasePagingLoadResult(models, loadConfig.getOffset(), loadConfig.getLimit());
return result;
}
};
BasePagingLoader loader = new BasePagingLoader(proxy,reader);
loader.setRemoteSort(true);
loader.load(0, 50);
final PagingToolBar toolBar = new PagingToolBar(5);
toolBar.bind(loader);
//Store
ListStore<DiagnosisModel> listStore = new ListStore<DiagnosisModel>(loader);
//Grid
final Grid grid = new Grid(listStore, columnModel);
grid.setLoadMask(true);
grid.setTitle("Diagnosis");
grid.setBorders(true);
grid.setEnableColumnResize(true);
grid.setWidth(600);
grid.setHeight(200);
grid.setToolTip("Diagnosis");
grid.show();
//Buttons-toolbar
ToolBar buttonBar = new ToolBar();
buttonBar.add(new AdapterToolItem(new Button("Add", new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
//MessageBox.alert("add", "add", null);
new DiagnosisAdd().show();
}
})));
buttonBar.add(new AdapterToolItem(new Button("Edit")));
buttonBar.add(new AdapterToolItem(new Button("Delete")));
//add to content panel
ContentPanel cp = new ContentPanel();
cp.setBodyBorder(false);
cp.setHeading("Diagnosis");
cp.setButtonAlign(HorizontalAlignment.CENTER);
cp.setLayout(new FitLayout());
cp.setWidth(700);
cp.setHeight(200);
cp.add(grid);
cp.setBottomComponent(toolBar);
cp.setTopComponent(buttonBar);
add(cp);
}
}
But, if i use the below line of code,
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "data/diagnosis.json");
Its getting data from file and displaying on the grid.
Can anyone help me to solve this problem?
Thanks,
Venu
I am working with GWT+GXT+JSon.
I had a spring-hibernate-json application running on jboss on my machine.
When i browse the url:
http://localhost:9090/springdemo/diagnosis/list.do
i get the following json string on return.
{"results":[{"id":"11111111333","dispatchType":"WL","level":1,"status":"PENDING","description":"test demo","active":1,"code":"1234"},{"id":"ff8081811ef9c1de011ef9c2473d0001","dispatchType":"WL","level":1,"status":"PENDING","description":"Tetsing","active":1,"code":"3434"}],"total":2}
Problem:
--------
Now i had another application using GWT and GXT Paging Grid.
I am using json reader to read data from above given url.
code
=====================================================================================
public class DiagnosisList extends LayoutContainer {
public DiagnosisList() {
}
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
//Layout for container
FlowLayout layout = new FlowLayout();
setLayout(layout);
setPagePosition((Window.getClientWidth()/2)-300, (Window.getClientHeight()/2)-200);
//Grid Column Configs
List<ColumnConfig> columnConfigList = new ArrayList<ColumnConfig>();
ColumnConfig colConfig = null;
colConfig = new ColumnConfig();
colConfig.setId("id");
colConfig.setHeader("ID");
colConfig.setWidth(100);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("code");
colConfig.setHeader("Code");
colConfig.setWidth(100);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("description");
colConfig.setHeader("Description");
colConfig.setWidth(150);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("dispatchType");
colConfig.setHeader("Dispatch Type");
colConfig.setWidth(100);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("status");
colConfig.setHeader("Status");
colConfig.setWidth(100);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("level");
colConfig.setHeader("Level");
colConfig.setWidth(50);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
colConfig = new ColumnConfig();
colConfig.setId("active");
colConfig.setHeader("Active");
colConfig.setWidth(50);
colConfig.setSortable(true);
columnConfigList.add(colConfig);
ColumnModel columnModel = new ColumnModel(columnConfigList);
//Incoming data model type
ModelType type = new ModelType();
type.root = "results";
type.totalName = "total";
type.recordName = "id";
type.addField("id");
type.addField("code");
type.addField("description");
type.addField("dispatchType");
type.addField("status");
type.addField("level");
type.addField("active");
//Prepare the Request
//RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "data/diagnosis.json");
String url = "http://127.0.0.1:9090/springdemo/diagnosis/list.do";
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
HttpProxy proxy = new HttpProxy(builder);
//ScriptTagProxy<Object, PagingLoadResult<ModelData>> proxy = new ScriptTagProxy<Object, PagingLoadResult<ModelData>>(url);
//Reading JSon data
JsonReader<PagingLoadConfig> reader = new JsonReader<PagingLoadConfig>(type) {
@Override
protected ListLoadResult newLoadResult(PagingLoadConfig loadConfig, List<ModelData> models) {
PagingLoadResult result = new BasePagingLoadResult(models, loadConfig.getOffset(), loadConfig.getLimit());
return result;
}
};
BasePagingLoader loader = new BasePagingLoader(proxy,reader);
loader.setRemoteSort(true);
loader.load(0, 50);
final PagingToolBar toolBar = new PagingToolBar(5);
toolBar.bind(loader);
//Store
ListStore<DiagnosisModel> listStore = new ListStore<DiagnosisModel>(loader);
//Grid
final Grid grid = new Grid(listStore, columnModel);
grid.setLoadMask(true);
grid.setTitle("Diagnosis");
grid.setBorders(true);
grid.setEnableColumnResize(true);
grid.setWidth(600);
grid.setHeight(200);
grid.setToolTip("Diagnosis");
grid.show();
//Buttons-toolbar
ToolBar buttonBar = new ToolBar();
buttonBar.add(new AdapterToolItem(new Button("Add", new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
//MessageBox.alert("add", "add", null);
new DiagnosisAdd().show();
}
})));
buttonBar.add(new AdapterToolItem(new Button("Edit")));
buttonBar.add(new AdapterToolItem(new Button("Delete")));
//add to content panel
ContentPanel cp = new ContentPanel();
cp.setBodyBorder(false);
cp.setHeading("Diagnosis");
cp.setButtonAlign(HorizontalAlignment.CENTER);
cp.setLayout(new FitLayout());
cp.setWidth(700);
cp.setHeight(200);
cp.add(grid);
cp.setBottomComponent(toolBar);
cp.setTopComponent(buttonBar);
add(cp);
}
}
But, if i use the below line of code,
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "data/diagnosis.json");
Its getting data from file and displaying on the grid.
Can anyone help me to solve this problem?
Thanks,
Venu