dojox.grid.EnhancedGrid, как мне установить noDataMessage? - PullRequest
3 голосов
/ 22 ноября 2011

Я пытаюсь установить noDataMessage в dojox.grid.EnhancedGrid, сетка работает нормально, когда хранилище получает данные, оно без проблем показывает строку, но мне нужно, чтобы, когда хранилище не получало данных, сетка покажи мне личное сообщение Я установил свойство noDataMessage, которое является строкой, но ничего не происходит, когда нет данных.

Как вызвать событие, когда в магазине нет данных?

Я получаю свои данные через SQL-запрос к базе данных, и ответ - сериализованные данные JSON.

вот код моей сетки.

    intersGrid = new dojox.grid.EnhancedGrid({
//        plugins: {dnd: true},viewInterconsulta
        id :"intersGrid",
        store: interfiltStore,
        structure: intersLayout,
        noDataMessage:"<span class=\"dojoxGridNoData\">No hay Datos</span>",
        loadingMessage:'Cargando datos. Por favor espere.',
        //noDataMessage: 'No existen pacientes esta agenda.',
        errorMessage:'No existen datos para esta busqueda.'
    }, "intersDiv");

Ответы [ 2 ]

1 голос
/ 07 ноября 2012

решено.
То, что вам нужно сделать, это.

если вы получаете пустое хранилище, установите их следующим образом:

$ filas = "{identifier: 'ID', items []}";
** json_encode($ filas). "}";

и затем dojo показывает noDataMessage

0 голосов
/ 13 февраля 2014

В моем случае я только показал 25 строк, а затем запросил с помощью смещения и подсчитал еще 25 при прокрутке списка вниз. В этом случае мне нужно было «numRows» - это общее количество строк без учета смещения и количества. «NumRows» был установлен в 0, если строки не были найдены. Но если он был задан, noDataMessage не показывалось (кстати: «идентификатор» не требуется).

Также в вашем json есть синтаксическая ошибка, добавьте некоторые ":" после "items".

Это JSON для магазина, который показывает noDataMessage сетки данных dojox:

{"items":[]}

Это не покажет:

{"items":[],"numRows":"0"}

Используя Dojo 1.6.1, dojox.grid.DataGrid с dojox.data.QueryReadStore

...