Hi iam Developing the RemotePagination Grid using RPC and JSON in
GWTEXT
my Paging Toolbar is not working , and next buton events next not
working
iam placing my code below, can any one suggest solution , or suggest
any websites reative to this example
Client side coding
*************************************jsonrpcgrid.java*****************************
package org.yournamehere.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
import com.google.gwt.user.client.ui.RootPanel;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.data.*;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.MessageBox;
import com.gwtext.client.widgets.PagingToolbar;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.ToolTip;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
import com.gwtext.client.widgets.form.Field;
import com.gwtext.client.widgets.form.NumberField;
import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
import com.gwtext.client.widgets.grid.ColumnConfig;
import com.gwtext.client.widgets.grid.ColumnModel;
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtextux.client.data.PagingMemoryProxy;
public class jsonrpcgrid implements EntryPoint {
private PagingMemoryProxy proxy;
private RecordDef recordDef;
private ColumnConfig[] columns;
private ColumnModel columnModel;
private GridPanel grid;
private PagingToolbar pagingToolbar;
private NumberField pageSizeField;
private ToolTip toolTip ;
public void onModuleLoad() {
Panel panel = new Panel();
panel.setBorder(false);
panel.setPaddings(15);
PagingMemoryProxy proxy = new PagingMemoryProxy(getCompanyData
());
recordDef = new RecordDef(
new FieldDef[]{
new StringFieldDef("nappicode"),
new StringFieldDef("brandname"),
new StringFieldDef("therapaticcategory"),
new StringFieldDef("materialform"),
new StringFieldDef("dosageform"),
new StringFieldDef("purchaseunit"),
new StringFieldDef("stockunit"),
new StringFieldDef("status"),
}
);
columns = new ColumnConfig[]{
//column ID is company which is later used in
setAutoExpandColumn
new ColumnConfig("NAAPI Code", "nappicode", 100,
true, null, "nappicode"),
new ColumnConfig("Brandname", "brandname", 60),
new ColumnConfig("Therapaticcategory",
"therapaticcategory", 80),
new ColumnConfig("Material Form", "materialform",
65),
new ColumnConfig("Dosage Form", "dosageform", 65),
new ColumnConfig("Purchase Unit", "purchaseunit"),
new ColumnConfig("Stock Unit", "stockunit",
65),
new ColumnConfig("Status", "status", 60, true)
};
ArrayReader reader = new ArrayReader(recordDef);
final Store store = new Store(proxy, reader, true);
columnModel = new ColumnModel(columns);
grid = new GridPanel();
grid.setStore(store);
grid.setColumnModel(columnModel);
grid.setFrame(true);
grid.setStripeRows(true);
grid.setWidth(750);
grid.setHeight(550);
grid.setTitle("Pagination Grid");
store.load();
grid.setAutoWidth(true);
pagingToolbar = new PagingToolbar(store);
pagingToolbar.setPageSize(5);
pagingToolbar.setDisplayInfo(true);
pagingToolbar.setDisplayMsg("Displaying companies {0} - {1} of
{2}");
pagingToolbar.setEmptyMsg("No records to display");
pageSizeField = new NumberField();
pageSizeField.setWidth(80);
pageSizeField.setSelectOnFocus(true);
pageSizeField.addListener(new FieldListenerAdapter() {
public void onSpecialKey(Field field, EventObject e) {
if (e.getKey() == EventObject.ENTER) {
int pageSize = Integer.parseInt
(field.getValueAsString());
pagingToolbar.setPageSize(pageSize);
}
}
});
toolTip = new ToolTip("Enter page size");
toolTip.applyTo(pageSizeField);
pagingToolbar.addField(pageSizeField);
grid.setBottomToolbar(pagingToolbar);
store.load(0, 5);
final AsyncCallback callback2 = new AsyncCallback() {
public void onSuccess(Object result) {
store.removeAll();
String jsonData=result.toString();
JsonReader reader = new JsonReader(recordDef);
grid.remove(pagingToolbar);
reader.setRoot("persons");
reader.setTotalProperty("totalPerons");
final Store store1=new Store(reader);
store1.loadJsonData(jsonData, true);
store1.commitChanges();
grid.reconfigure(store1, columnModel);
pagingToolbar.setStore(store1);
pagingToolbar.setPageSize(50);
pagingToolbar.setEmptyMsg("No records to display");
pagingToolbar.setStore(store1);
pageSizeField = new NumberField();
pageSizeField.setWidth(40);
pageSizeField.setSelectOnFocus(true);
pageSizeField.addListener(new FieldListenerAdapter() {
public void onSpecialKey(Field field, EventObject e) {
if (e.getKey() == EventObject.ENTER) {
int pageSize = Integer.parseInt
(field.getValueAsString());
pagingToolbar.setPageSize(pageSize);
}
}
});
final ToolTip toolTip = new ToolTip("Enter page size");
toolTip.applyTo(pageSizeField);
pagingToolbar.addField(pageSizeField);
grid.setBottomToolbar(pagingToolbar);
grid.addListener(new PanelListenerAdapter() {
public void onRender(Component component) {
store1.load(0,50);
}
});
store1.load(0, 50);
}
public void onFailure(Throwable caught) {
MessageBox.alert("failure");
}
};
getService().getData(callback2);
grid.show();
panel.add(grid);
RootPanel.get().add(panel);
}
public static GWTServiceAsync getService() {
GWTServiceAsync service = (GWTServiceAsync) GWT.create
(GWTService.class);
ServiceDefTarget endpoint = (ServiceDefTarget) service;
String moduleRelativeURL = GWT.getModuleBaseURL() +
"gwtservice";
endpoint.setServiceEntryPoint(moduleRelativeURL);
return service;
}
private Object[][] getCompanyData() {
return new Object[][]{
new Object[]{"3m Co", new Double(71.72), new Double
(0.02),
new Double(0.03), "9/1 12:00am", "MMM",
"Manufacturing"},
new Object[]{"Alcoa Inc", new Double(29.01), new Double
(0.42),
new Double(1.47), "9/1 12:00am", "AA",
"Manufacturing"},
new Object[]{"Altria Group Inc", new Double(83.81), new
Double(0.28),
new Double(0.34), "9/1 12:00am", "MO",
"Manufacturing"},
new Object[]{"American Express Company", new Double
(52.55), new Double(0.01),
new Double(0.02), "9/1 12:00am", "AXP",
"Finance"},
new Object[]{"American International Group, Inc.", new
Double(64.13), new Double(0.31),
new Double(0.49), "9/1 12:00am", "AIG",
"Services"},
new Object[]{"AT&T Inc.", new Double(31.61), new Double
(-0.48),
new Double(-1.54), "9/1 12:00am", "T",
"Services"},
new Object[]{"Boeing Co.", new Double(75.43), new Double
(0.53),
new Double(0.71), "9/1 12:00am", "BA",
"Manufacturing"},
new Object[]{"Caterpillar Inc.", new Double(67.27), new
Double(0.92),
new Double(1.39), "9/1 12:00am", "CAT",
"Services"},
new Object[]{"Citigroup, Inc.", new Double(49.37), new
Double(0.02),
new Double(0.04), "9/1 12:00am", "C",
"Finance"},
new Object[]{"E.I. du Pont de Nemours and Company", new
Double(40.48), new Double(0.51),
new Double(1.28), "9/1 12:00am", "DD",
"Manufacturing"},
new Object[]{"3m Co", new Double(71.72), new
Double(0.02),
new Double(0.03), "9/1 12:00am", "MMM",
"Manufacturing"},
new Object[]{"Alcoa Inc", new Double(29.01), new Double
(0.42),
new Double(1.47), "9/1 12:00am", "AA",
"Manufacturing"},
new Object[]{"Altria Group Inc", new Double(83.81), new
Double(0.28),
new Double(0.34), "9/1 12:00am", "MO",
"Manufacturing"},
new Object[]{"American Express Company", new Double
(52.55), new Double(0.01),
new Double(0.02), "9/1 12:00am", "AXP",
"Finance"},
new Object[]{"American International Group, Inc.", new
Double(64.13), new Double(0.31),
new Double(0.49), "9/1 12:00am", "AIG",
"Services"},
new Object[]{"AT&T Inc.", new Double(31.61), new Double
(-0.48),
new Double(-1.54), "9/1 12:00am", "T",
"Services"},
new Object[]{"Boeing Co.", new Double(75.43), new Double
(0.53),
new Double(0.71), "9/1 12:00am", "BA",
"Manufacturing"},
new Object[]{"Caterpillar Inc.", new Double(67.27), new
Double(0.92),
new Double(1.39), "9/1 12:00am", "CAT",
"Services"},
new Object[]{"Citigroup, Inc.", new Double(49.37), new
Double(0.02),
new Double(0.04), "9/1 12:00am", "C",
"Finance"},
new Object[]{"E.I. du Pont de Nemours and Company", new
Double(40.48), new Double(0.51),
new Double(1.28), "9/1 12:00am", "DD",
"Manufacturing"}
};
}
}
__________________________________________________________________________
************************************
GWTService .java******************************************
package org.yournamehere.client;
import com.google.gwt.user.client.rpc.RemoteService;
/**
*
* @author prasad
*/
public interface GWTService extends RemoteService{
public String getData();
}
________________________________________________________________________
*************************************GWTServiceAsync
.java***********************************
package org.yournamehere.client;
import com.google.gwt.user.client.rpc.AsyncCallback;
/**
*
* @author prasad
*/
public interface GWTServiceAsync {
public void myMethod(String s, AsyncCallback callback);
public void getData(AsyncCallback callback);
}
________________________________________________________________________
ServerSide Coding
********************************
/*
* GWTServiceImpl.java
*
* Created on January 20, 2009, 2:45 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package org.yournamehere.server;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.sql.rowset.CachedRowSet;
import org.json.JSONArray;
import org.json.JSONObject;
import org.yournamehere.client.GWTService;
/**
*
* @author prasad
*/
public class GWTServiceImpl extends RemoteServiceServlet implements
GWTService {
private Connection connection;
Connection con=null;
public String getData(){
System.out.println("entering into the getdata method");
ArrayList dbResult=new ArrayList();
HttpServletRequest request = this.getThreadLocalRequest();
HttpSession session=request.getSession(true);
Enumeration parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()) {
String parameterName = (String) parameterNames.nextElement
();
System.out.println("paramater name:"+parameterName);
System.out.println(" " + parameterName + "=" +
request.getParameter(parameterName));
}
// Get the limit and sort parameters off the request
int start = request.getParameter("start") == null ? 1 :
Integer.parseInt(request.getParameter("start"));
int numberToReturn = request.getParameter("limit") == null ?
200 : Integer.parseInt(request.getParameter("limit"));
CachedRowSet rs=(CachedRowSet)session.getAttribute("result");
DBConnection dbobj1=new DBConnection();
if(rs==null)
{
connection =dbobj1.getConnection();
String sqlQuery="SELECT
A.LINKCODE,A.DESCRIPTION,B.DESCRIPTION,C.DESCRIPTION,D.DESCRIPTION,E.DESCRIPTION,F.DESCRIPTION,A.STATUS
FROM M_DRUGS A,M_DRUGSUBGRP B,M_DRUGFORM C,M_DOSAGEFORM D,M_UNITS
E,M_UNITS F WHERE B.CODE=A.SUBGROUP AND B.HOSPUNIT=A.HOSPUNIT AND
C.CODE=A.DRUGFORM AND C.HOSPUNIT=A.HOSPUNIT AND D.CODE=A.STRENGTH AND
D.HOSPUNIT=A.HOSPUNIT AND E.CODE=A.PURCHUNIT AND E.HOSPUNIT=A.HOSPUNIT
AND F.CODE=A.UNITCODE AND F.HOSPUNIT=A.HOSPUNIT AND
A.HOSPUNIT='T0101001' ORDER BY A.DESCRIPTION";
rs=dbobj1.selectQuery(sqlQuery);
session.setAttribute("result", rs);
}
int count=0;
int count1=0;
Person p[]=new Person[numberToReturn];
ArrayList<Person> persons = new ArrayList<Person>();
try {
numberToReturn=start+numberToReturn;
if(numberToReturn>rs.size())
{
numberToReturn=start+(rs.size()-start);
}
start++;
rs.beforeFirst();
while (rs.next()) {
count++;
if(count==start)
{
// System.out.println("numberto
return:"+numberToReturn);
if(start<=numberToReturn)
{
Person perj=new Person();
perj.setNappicode(rs.getString(1));
perj.setBrandname(rs.getString(2));
perj.setMaterialform(rs.getString(3));
perj.setTherapaticcategory(rs.getString(4));
perj.setDosageform(rs.getString(5));
perj.setPurchaseunit(rs.getString(6));
perj.setStockunit(rs.getString(7));
perj.setStatus(rs.getString(8));
p[count1]=perj;
//persons.add(per);
count1++;
}
start++;
}
}
} catch (SQLException ex) {
ex.printStackTrace();
// Logger.getLogger(GetPersonsServlet.class.getName()).log
(Level.SEVERE, null, ex);
}
System.out.println("p.toString()"+p.length);
System.out.println("count:"+count);
// Convert the list of persons into a JSON string
JSONObject jsonDataToReturn1 = new JSONObject();
JSONArray jsonPersons1=null;
try {
jsonPersons1 = new JSONArray(p, true);
jsonDataToReturn1.put("totalPerons", rs.size());
jsonDataToReturn1.put("persons", jsonPersons1);
System.out.println("rs.size:"+rs.size());
} catch (Exception ex) {
//Logger.getLogger(GetPersonsServlet.class.getName()).log
(Level.SEVERE, null, ex);
}
return jsonDataToReturn1.toString();
}
}
_____________________________________________________________________________________________________
****************************************************DBConnection.java******************************************************************
/
package org.yournamehere.server;
import com.sun.rowset.CachedRowSetImpl;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import javax.sql.rowset.CachedRowSet;
/**
*
* @author prasad
*/
public class DBConnection {
public Connection getConnection()
{
Connection con =null;
try
{
System.out.println("Before
Connection-----------------------");
Class.forName
("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
// con = DriverManager.getConnection
("jdbc:microsoft:sqlserver://localhost:
1433;databasename=JHIS","sa","");
con = DriverManager.getConnection
("jdbc:microsoft:sqlserver://
192.9.200.3:1433;databasename=JHIS;SelectMethod=cursor","sa","");
System.out.println("connection
sucessfull-----1111--------------");
}
catch(Exception ex)
{
ex.getMessage();
return con;
}
public CachedRowSet selectQuery(String strSql)
{
System.out.println(strSql);
ArrayList vec = new ArrayList();
Connection con =null;
PreparedStatement stmt = null;
CachedRowSet crs=null;
CachedRowSetImpl cmil=null;
try
{
con = getConnection();
stmt =con.prepareCall(strSql);
ResultSet rs = stmt.executeQuery();
cmil=new CachedRowSetImpl();
cmil.populate(rs);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
finally
{
if(con!=null) con=null;
if(stmt!=null)stmt=null;
}
return cmil;
}
}
______________________________________________________________________________________________________________
******************************************************Person.java***********************************************************************
package org.yournamehere.server;
/**
*
* @author prasad
*/
public class Person {
private String nappicode;
private String brandname;
private String therapaticcategory;
private String materialform;
private String dosageform;
private String purchaseunit;
private String stockunit;
private String status;
public String getBrandname() {
return brandname;
}
public void setBrandname(String brandname) {
this.brandname = brandname;
}
public String getDosageform() {
return dosageform;
}
public void setDosageform(String dosageform) {
this.dosageform = dosageform;
}
public String getMaterialform() {
return materialform;
}
public void setMaterialform(String materialform) {
this.materialform = materialform;
}
public String getNappicode() {
return nappicode;
}
public void setNappicode(String nappicode) {
this.nappicode = nappicode;
}
public String getPurchaseunit() {
return purchaseunit;
}
public void setPurchaseunit(String purchaseunit) {
this.purchaseunit = purchaseunit;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getStockunit() {
return stockunit;
}
public void setStockunit(String stockunit) {
this.stockunit = stockunit;
}
public String getTherapaticcategory() {
return therapaticcategory;
}
public void setTherapaticcategory(String therapaticcategory) {
this.therapaticcategory = therapaticcategory;
}
}
________________________________________________________________________________________________________
Please help mee
Thanks in advance.
PDVPRASAD
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"GWT-Ext Developer Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/gwt-ext?hl=en
-~----------~----~----~----~------~----~------~--~---