2011-02-23 85 views
0

嗨,你好 我试图研究雅虎lib-网格。我创建了一个按钮来显示网格。但是当我点击按钮N次 - >它显示N个网格。我只想显示一个网格,点击按钮后它将再次从服务器获取数据。我的代码如下: 请帮助我,谢谢。YUI网格:重新加载数据

YUI({ filter: 'raw' }).use("jsonp", "node",function (Y) { 

    function handleJSONP(response) { 
    // Y.one("#out").setContent(Y.Lang.sub(template, response.user)); 
    YUI().use("datatable-base", function(Y) { 
     var cols = [ 
      { key: "id", label: "Transaction No", abbr: "id"}, 
      { key: "userName", label: "User Name", abbr: "userName"}, 
      { key: "storeName", label: "StoreName", abbr: "storeName"} 
     ], 
     data = response.Root, 
     dt = new Y.DataTable.Base({ 
      columnset: cols, 
      recordset: data, 
      summary: "Price sheet for inventory parts", 
      caption: "These columns have labels and abbrs" 
     }).render("#example"); 
    }); 
} 

    Y.one("#demo_btn").on("click", function (e) { 
     var url = "server.jsp"+ "?callback={callback}"; 
     Y.jsonp(url, handleJSONP); 
    }); 

}); 

回答

0

您应该使用DataSource实用程序通过JSONP检索数据。这将允许你然后通过一些重新加载数据,如

dt.datasource.load();

请参阅该文档的详细信息:DataTable + DataSource.Get + JSON Data

  1. 你的处理程序需要检查,如果你已经创建的表。

var dt; if (dt === null) { dt = new Y.DataTable.Base // etc. }