this is my rds script, its yours but extended with some sorting and
filtering stuff

/*
 *
 * Copyright:
 *   (c) 2008 by Derrell Lipman
 *
 * License:
 *   LGPL: http://www.gnu.org/licenses/lgpl.html
 *   EPL: http://www.eclipse.org/org/documents/epl-v10.php
 *   See the LICENSE file in the project's top-level directory for details.
 *
 * Authors:
 *   Derrell Lipman (derrell)
 *
 */
qx.Class.define("toppreis.RemoteDataModel",
{
  extend : qx.ui.table.model.Remote,

  construct : function()
  {
    this.base(arguments);


    // Our data will be sent as an array of maps.  Each map (one row of data)
    // will have properties "year" and "leap".
    this.setColumnIds
  ([
    "art_name",
    "shp_marke",
    "shp_produkt",
    "shp_deeplink",
    "shp_aktiv",
    "shp_kategorie",
    "shp_markt",
    "shp_segment",
    "shp_refnummer",
    "shp_preis",
    "shp_img",
    "shp_verfuegbar",
    "shp_gewicht",
    "shp_volumen",
    "shp_ean",
    "shp_lieferkosten",
    "shp_pzb",
    "shp_ISBN",
    "shp_aktion"

  ]);


  //this.setColumnRenderer();

    // Get an RPC object on which we'll do all of our communication
    var clazz = toppreis.RemoteDataModel;
    this.rpc = new qx.io.remote.Rpc(clazz.URL, clazz.SERVICE);
    this.rpc.setTimeout(50000);
    this.rpc.setCrossDomain(false);
  },

  // Configure these as appropriate for your server and services
  statics :
  {
    // The URL for remote services.
    URL     : "../services/",

    // The service to use.  We expect this service to implement two methods:
    // getRowCount and getRowData.
    SERVICE : "qooxdoo.toppreis"
  },

  members :
  {
    rpc : null,

  tcm : null,



  searchID : 0,

  setSearchID : function(id)
  {
    this.searchID=id;
  },

  getSearchID : function()
  {
    return this.searchID;
  },

  filter : [],
  setFilter : function(filter)
  {
    this.filter=filter;
  },

  getFilter : function()
  {
    return this.filter;
  },


  setTCM : function(tcm)
  {
    this.tcm=tcm;
  },



    // overloaded
    _loadRowCount : function()
    {
      // Create the handler for our remote procedure call
      var _this = this;
      handler = function(result, ex, id)
      {
        mycall = null;
        if (ex !== null)
        {
          alert("Async(" + id + ") exception: " + ex +
                "<p>" +
                "Are you sure you configured
rpcexample.RemoteDataModel.URL " +
                "and rpcexample.RemoteDataModel.SERVICE?");
        }
        else
        {
          // We got (presumably) valid data.  Apply it to the table
          _this._onRowCountLoaded(result);
        }
      }

      // Issue the call to get the row count


        var req = this.rpc.callAsync(handler, "getRowCount", this.getSearchID(),
this.getFilter());



    },

    _loadRowData : function(firstRow, lastRow)
    {
      // Create the handler for our remote procedure call
      var _this = this;
      handler = function(result, ex, id)
      {
        mycall = null;
        if (ex !== null)
        {
          alert("Async(" + id + ") exception: " + ex +
                "<p>" +
                "Are you sure you configured
rpcexample.RemoteDataModel.URL " +
                "and rpcexample.RemoteDataModel.SERVICE?");
        }
        else
        {
          // We got (presumably) valid data.  Apply it to the table
          _this._onRowDataLoaded(result);
      //_this.setColumnRenderer();
        }
      }

      // Issue the call to get the row count
    // get the column index to sort and the order
   var sortIndex = this.getColumnId(this.getSortColumnIndex());
    var sortOrder =  this.isSortAscending() ? "asc" : "desc";

      var req =  this.rpc.callAsync(handler, "getRowData", firstRow,
lastRow, sortIndex, sortOrder, this.getSearchID(),
this.getFilter());

    }
  }
});



> On Tue, Jan 12, 2010 at 13:51, Mustafa Sak <i...@saksys.de> wrote:
>
>> Hi Derrell
>> I am using exactly the RDS class from the contrib. In firebug i can see
>> both async requests an the answers. The calls are needing less than 5
>> seconds. The result just gets 200 rows at once.
>>
>
> Ok, that's good confirmation. The next thing to do is determine where it's
> getting stuck. You were to implement the methods _loadRowCount() and
> _loadRowData() in your class that extends qx.ui.table.model.Remote. Please
> post those two methods that you implemented so we can see what's wrong.
>
> Derrell
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer Community
> Take advantage of Verizon's best-in-class app development support
> A streamlined, 14 day to market process makes app distribution fast and
> easy
> Join now and get one step closer to millions of Verizon customers
> http://p.sf.net/sfu/verizon-dev2dev
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>



------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to