On Thu, Oct 28, 2010 at 06:46, Qoodary <[email protected]> wrote:
>
> Hello list,
> I try to switch from table Simple to the Remote Table model.
> The Simple Model with PHP backend receiving data from a db works fine. But
> with the Remote Model I have some problems.
>
...
> // overloaded - called whenever the table requests new data
> //_loadRowData : function(firstRow, lastRow)
> _loadRowData : function()
>
Firstly, you do actually need to do as it says. You are being asked only for
a subset of the rows, not all of the rows, and you should return only the
rows that were requested.
> {
> // Call the backend service (example) - using XmlHttp
> var baseUrl = "http://localhost/myApp/status.php";
> //var parameters = "?from=" + firstRow + "&to=" + lastRow;
> var parameters = "?UserID=2";
> var url = baseUrl + parameters;
> var req = new qx.io.remote.Request(url, "GET", "application/json");
>
> // Add listener
> req.addListener("completed", this._onLoadRowDataCompleted, this);
>
> // send request
> req.send();
> },
>
> // Listener for request of "_loadRowData" method
> _onLoadRowDataCompleted : function(response)
> {
> var result = response.getContent();
> if (result != null)
> {
> // Apply it to the model - the method "_onRowDataLoaded" has to be
> called
> this._onRowDataLoaded(result);
>
The format of the returned data is defined. I suspect that your server is
returning data in a format other than what is expected. Look at the
documentation or the implementation of _onRowDataLoaded() to see exactly
what format is required. Then use Firebug or equivalent to look at the data
to ensure you're matching that format.
Hope that helps.
Derrell
> }
> }
> }
> });
>
> ---------------------------------------------------------------------------------
>
> Here is my status.js class which creates the table
>
> qx.Class.define("myApp.jobstatus",
> {
> extend : qx.ui.window.Window,
>
> construct : function(UserID) {
>
> // Call super class
> this.base(arguments, this.tr("Status Information"));
> var mycellrenderer = new myApp.MyCellRenderer();
>
> // Enable logging in debug variant
> if (qx.core.Variant.isSet("qx.debug", "on"))
> {
> // support native logging capabilities, e.g. Firebug for Firefox
> qx.log.appender.Native;
> // support additional cross-browser console. Press F7 to toggle
> visibility
> qx.log.appender.Console;
> }
>
> this.setLayout(new qx.ui.layout.VBox(10));
> this.setStatus("Application is ready");
>
>
> var tableModel = new myApp.RemoteTable();
> tableModel.setColumns([ this.tr("State"), this.tr
> ("FileName"),
> this.tr("FileSize"), this.tr("Date") ]);
>
> var table = new qx.ui.table.Table(tableModel);
> table.setTableModel(tableModel);
>
> table.setLayoutProperties({top: 120});
> table.setLayoutProperties({left: 200});
> table.setWidth(500);
> table.setHeight(200);
>
> with (table) {
>
>
> getSelectionModel().setSelectionMode(qx.ui.table.selection.Model.SINGLE_SELECTION);
> setColumnWidth(0, 50);
> setColumnWidth(1, 200);
> setColumnWidth(2, 80);
> setColumnWidth(3, 150);
> };
> this.add(table);
>
> table.addListener('appear',function(){
>
> tableModel._loadRowData();
> //tableModel.setData([]);//reset before
> });
>
>
> var tcm = table.getTableColumnModel();
> // Use the custom cell renderer for column 1
> tcm.setDataCellRenderer(0, new myApp.MyCellRenderer());
>
> }//main function
> //}//menbers
> });
>
>
> The problem is that no data appears in the table. I can see the correct row
> count (90) in the Firebug console and also I can see the data received from
> "status.php"
> The row count 90 is also displayed in the table but no data.
>
> Perhaps the call with
> table.addListener('appear',function(){
>
> tableModel._loadRowData();
>
> is not correct?
>
> Thanks in advance for any help
>
> regards
> Hans
> --
> View this message in context:
> http://old.nabble.com/Beginner-question-Remote-Table-no-data-in-table--tp30075325p30075325.html
> Sent from the qooxdoo-devel mailing list archive at Nabble.com.
>
>
>
> ------------------------------------------------------------------------------
> Nokia and AT&T present the 2010 Calling All Innovators-North America
> contest
> Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
> $10 million total in prizes - $4M cash, 500 devices, nearly $6M in
> marketing
> Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
> http://p.sf.net/sfu/nokia-dev2dev
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel