YUI-grid:重新加载数据

时间:2011-02-23 02:16:25

标签: yui

你好 我正在尝试研究Yahoo lib-grid。我创建了一个显示网格的按钮。但是当我点击按钮N次 - >它显示N个网格。我只想显示一个网格,点击按钮后它将再次从服务器获取数据。我的代码如下: 请帮帮我。谢谢。

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);
  });

});

1 个答案:

答案 0 :(得分:0)

您应该使用DataSource实用程序通过JSONP检索数据。这将允许您通过类似

的方式重新加载数据

dt.datasource.load();

有关详细信息,请参阅文档:DataTable + DataSource.Get + JSON Data

  1. 您的处理程序需要检查您是否已创建该表。
  2. var dt; if (dt === null) { dt = new Y.DataTable.Base // etc. }