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
-~----------~----~----~----~------~----~------~--~---

Reply via email to