【问题标题】:The width parameter of the jqGrid edit modal breaks the other parametersjqGrid编辑模态的width参数打破了其他参数
【发布时间】:2015-04-24 16:25:53
【问题描述】:

当我在 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>

【问题讨论】:

    标签: jqgrid free-jqgrid


    【解决方案1】:

    您使用了错误的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'。在这种情况下,您不需要创建空的&lt;div id="pager"&gt;&lt;/div&gt;。通过使用page: true free 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 选项的编码风格。我个人更喜欢命名参数作为定位参数,因为每个人都可以更好地阅读代码。

    【讨论】:

    • 非常感谢。我要测试你发给我的东西。我想我迷失在不同版本的文档中,我不清楚。您引用的文档是否指示 jqgrid 的版本?我没找到。
    • @Robin:不客气! jqGrid 的The documentation 描述了navGrid 的选项。 navGrid 只是在导航栏中创建按钮。如果用户单击“编辑”或“添加”按钮,则navGrid 调用带有参数prmEditprmAddeditGridRow 方法。如果用户点击删除按钮navGrid调用delGridRow方法等等。
    • @Robin:免费的 jqGrid 与旧版本的 jqGrid 兼容,但它提供了使用简化形式指定选项和回调 editGridRowdelGridRow 和其他方法的可能性。它允许编写更短、更易读的代码,例如 the wiki 中的示例。
    • 我没有看到您在您引用的 wiki 文档中使用的相同位置的参数。我也没有在那个 wiki 文档页面上看到 closeAfterEdit 或 width 参数。
    • @Robin:我在之前的 cmets 中试图向您解释 navGridprmEditprmAdd)的第 3 和第 4 参数是参数为 editGridRow 的对象方法。所以对象可以包含方法editGridRow的文档中描述的任何propertycallback
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    相关资源
    最近更新 更多