dojox.grid.EnhancedGrid如何设置noDataMessage?

时间:2011-11-22 15:16:39

标签: grid store dojo

我正在尝试将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 个答案:

答案 0 :(得分:1)

解决。
你要做的是。

如果你得到一个空的商店,那么设置如下:

$ filas =“{identifier:'ID',items []}”;
** json_encode($ filas)。“}”;

然后dojo显示noDataMessage

答案 1 :(得分:0)

在我的情况下,我只显示了25行,然后在offset&amp; amp;向下滚动列表时再计算25。在这种情况下,我需要“numRows” - 这是行的总量,省略了偏移量&amp;计数。如果找不到行,则“numRows”设置为0。但是如果给出了,则没有显示noDataMessage(顺便说一下:不需要“标识符”)。

你的json中也存在语法错误,在“items”之后添加一些“:”。

这是商店的JSON,它显示了dojox数据网格的noDataMessage:

{"items":[]}

这不会显示它:

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

使用Dojo 1.6.1,带有dojox.data.QueryReadStore的dojox.grid.DataGrid