【问题标题】:How to Create jqGrid?如何创建 jqGrid?
【发布时间】:2013-02-06 14:09:51
【问题描述】:

我想让 jqgrid 动态化。 所以我有一个变量 其中 即

<script type="text/javascript">
$('#ok').click(function(){
    var Str='jQuery("#list").jqGrid({ url:'server.php', datatype: "json", colNames:['...'], colModel:[ {...}], rowNum:10, rowList:[10,20,30], pager: '#pager2', sortname: 'id', viewrecords: true, sortorder: "desc", caption:"JSON Example" });'
});
</script>
<html>
<table id="list"></table>
<div id="pager"></div>
</html>

jqgrid的Request如何发送?

【问题讨论】:

  • 需要将你的代码包装在document.ready
  • @charlietfl 表示我的点击事件在 $(document).ready() 函数中。我做到了,但没有工作
  • $('ok') 也是无效的选择器
  • @charlietfl 现在编辑代码就可以了

标签: jquery jqgrid jqgrid-formatter


【解决方案1】:

您可以通过以下方式手动强制重新加载网格:

jQuery('#list').jqGrid().trigger('reloadGrid', [{ page: 1}]);

事实上,我可以建议您在页面加载时完全构建网格,数据类型设置为datatype: local,然后在您的点击事件中,您就可以了

jQuery('#list_container').show();
jQuery('#list').jqGrid('setGridParam', { datatype: 'json', url: '/server.php' }).trigger('reloadGrid', [{ page: 1}]);

这样,您的 jqGrid 就坐在那里,隐藏并等待您单击时加载。如果数据类型设置为本地,它不会尝试加载任何信息,直到您单击。

【讨论】:

  • 我想在一个网格中创建三合一。所以在点击时我已经生成变量像'Str.and Make Grid。这可能吗?
  • 你想一键制作3个网格?如果我理解它会和上面的完全一样。您可以触发多次重新加载或在页面加载时初始化 3 个网格,当您单击按钮时隐藏然后显示和加载。
  • 制作三个网格,但不是同一时间。
  • 然后按照我的第二个块,在页面加载时设置所有三个网格,用data: local 隐藏它们,然后在处理显示网格的事件时设置datatype, url, 并触发重新加载。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 1970-01-01
相关资源
最近更新 更多