YUI-grid: перезагрузить данные - PullRequest
0 голосов
/ 23 февраля 2011

Привет, ребята Я пытаюсь исследовать библиотеку Yahoo. Я создал кнопку для отображения сетки. Но когда я нажимаю кнопку 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 голосов
/ 24 февраля 2011

Вы должны использовать утилиту DataSource для получения данных через JSONP.Это позволит вам затем перезагрузить данные через что-то вроде

dt.datasource.load();

Подробнее см. В документах: DataTable + DataSource.Get + JSON Data

  1. Ваш обработчик должен проверить, если вы уже создали таблицу.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...