jqGrid tableToGrid - 如果表中没有找到行,则显示消息

时间:2010-12-10 06:38:32

标签: jquery jqgrid

我正在尝试在html表上使用jqgrid生成网格。我能够这样做,但如果表中没有找到任何行,我想显示一条消息。我怎么能这样做?

这是我的jquery代码......

jQuery.extend(jQuery.jgrid.defaults, {
                caption: "my list",
                autowidth: true,
                height: "100%",
                hidegrid: false,
                loadComplete: function() {
                    alert("Grid has been loaded");
                },
                colModel:[
                   { name: 'date', index: 'date', width: 0, resizable: false },
                   { name: 'icon', index: 'icon', width: 0, resizable: false },
                   { name: 'shop', index: 'shop', width: 0, resizable: false },
                   { name: 'delete', index: 'delete', width: 0, resizable: false }
                ]
            });
            tableToGrid("#item_table", {
               colNames: ['Date', '', 'Shop', 'Delete']
            });

2 个答案:

答案 0 :(得分:6)

$.jgrid.defaults.emptyrecords中定义的标准消息(参见grid.locale-en.js)将仅在使用从服务器加载的远程数据填充jqGrid的情况下默认显示(请参阅{{ 3}})。相应的文字(见grid.locale-en.js)"没有要查看的记录"将显示在状态栏的右侧。

this answer中,我展示了如何强制显示文字,以防当地人发表文字。填充jqGrid(就像你的情况一样)或者如何在网格的正文区域中显示相应的文本(参见答案中的演示)。因此,在将现有表格转换为another answer的jqGrid时,您也可以这样做。执行此操作的事件处理程序tableToGrid可以在jQuery.jgrid.defaults中定义,也可以在beforeRequest函数的第二个参数的附加属性中定义。如果您遵循第二个演示,则应修改当前用于显示/隐藏div的tableToGrid函数的代码,其中包含" no rows" jqGrid正文中的消息。

答案 1 :(得分:0)

事实上,这不是一个错误。如果你查看jqGrid.css文件,你会发现表格中的每一行都是应用了“white-space:pre”的样式

.ui-jqgrid tr.jqgrow td {font-weight: normal; overflow: hidden; white-space:pre; height: 22px;padding: 0 2px 0 2px;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;}

如果删除此样式(来自/ * body * / section中的所有类),那么您将需要强制将单元格内容放在带有标记的一行中。