2011-02-23 89 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. }