使用 jqGrid 4.5.2 和 jQuery 1.9.1。查询 SQL 表以返回数据以在 jqGrid 中显示结果。我没有对数据进行任何编辑。
jqGrid 使用 acustom formatter
来显示查询的结果。在自定义格式化程序中,根据返回的数据(列隐藏在 jqGrid 中),在名为以下三项Action
之一的列中显示:(1) 下拉框,(2) 提交按钮,或 (3) 信息消息. 此外,rowattr
用于格式化该行中的(字体、颜色、大小、样式)信息(也基于返回的数据)。进行下拉选择后,该行将使用下拉值和日期/时间进行更新。同样,当单击提交按钮时,它也会使用日期/时间更新表格。
setInterval
以上每 60 秒运行一次。该网格按应有的方式运行。
除了上面的网格如何工作之外,我还需要有条件地构建和启动另一个网格。我将采用与上面使用的完全相同的网格设置,jqGrid 将显示在对话框、弹出窗口或新页面中。我会查询另一个表,但返回与我当前所做的相同的字段。该网格还将使用custom formatter
,rowattr
和其他代码(停止和重新开始间隔,捕捉下拉框更改和提交按钮点击),就像在工作中所做的那样jqGrid
。主要区别在于我会先进行 AJAX 调用以获取行数,但如果有任何数据,则仅在对话框/弹出/新页面中创建网格。此网格的下拉和提交按钮功能与其他网格相同(使用日期/时间和/或下拉选择进行更新)。
我一直在考虑在页面上的 DIV 内构建对话框/弹出网格,该页面上当前具有上面的功能网格。
<div id="popDailog">
<table id="popGrid" border="0" cellpadding="0" cellspacing="0" style="width:100%">
</table>
<div id="popPager"></div>
</div>
现有的、正常运行的网格位于 HTML 正文中,紧挨着上图所示的 DIV 上方:
<table id="myGrid" border="0" cellpadding="0" cellspacing="0" style="width: 100%">
</table>
<div id="pager1"></div>
我的问题:
可以在模态对话框中构建 jqGrid 吗?如果没有,你如何让它在弹出窗口或新页面中打开?我看到的大多数问题和答案都涉及编辑数据,但我没有这样做。
可以有条件地构建 jqGrid(是否有控制它的选项)?如果可能的话,我想避免两次旅行。
如果以及如何最好地做到这一点,我将不胜感激任何指导或意见。
谢谢!