jqGrid编辑模式的width参数会破坏其他参数

时间:2015-04-24 16:25:53

标签: jqgrid free-jqgrid

当我在jqGrid中为编辑模式添加宽度时,后面的参数(即add:false,closeAfterEdit: true等)停止工作。我在不同的地方试过它,但它不起作用。

jQuery("#prodgrid").jqGrid('navGrid', '#pager', {width: 1000},{edit: true, add: false, del: false, search: false}, {closeAfterEdit: true},  {closeAfterAdd: true});

供参考:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.8.0/js/i18n/grid.locale-en.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.8.0/js/jquery.jqgrid.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>

1 个答案:

答案 0 :(得分:0)

您使用navGrid的错误选项。如果检查the documentation,您将看到您使用的参数的位置是错误的。正确的将是

$("#prodgrid").jqGrid('navGrid', '#pager',
    {add: false, del: false, search: false},
    {closeAfterEdit: true, width: 1000},
    {closeAfterAdd: true, width: 1000});

(您可以跳过edit: true,因为它已经是默认值。)

我看到你使用免费的jqGrid。它使得指定jqGrid选项更容易。首先,您可以跳过'#pager'。在这种情况下,jqGrid将只使用您在创建网格时已指定的寻呼机。您可以在网格选项中指定page: true,而不是使用pager: '#pager'。在这种情况下,您不需要创建空<div id="pager"></div>。使用page: true免费jqGrid将自动创建相应的div。此外,'navGrid'的选项分为独立部分:navGrid选项{edit: true, add: false, del: false, search: false}和表单编辑选项:{closeAfterEdit: true, width: 1000}{closeAfterAdd: true, width: 1000}。免费的jqGrid允许在创建网格时直接指定选项,然后使用简化形式的navGrid调用:

$("#prodgrid").jqGrid({
    // here there are all other standard option which you already use
    pager: true,
    navOptions: {add: false, del: false, search: false},
    formEditing: {closeAfterEdit: true, closeAfterAdd: true, width: 1000}
}).jqGrid("navGrid");

您可以阅读有关jqGrid here选项的编码样式的更多信息。我个人更喜欢将命名参数作为定位参数,因为每个人都可以更好地阅读代码。