调整jqGrid页面编辑框的大小

2023-12-08

在我的 ASP.NET MVC 3 应用程序中,我在 jqGrid 上启用了寻呼机,如下图所示:

jqgrid pager

Page 的文本框(图像的中心,其中有数字 1)非常宽 - 比它需要的宽得多。有谁知道如何调整这个盒子的大小?

当我的网格比这个窄时,这尤其是一个问题,此时页面的文本框向左推(或放置)太远,最终挤压按钮,如下图所示:

jqgrid pager, narrower

在这里,“页面”(上一页、第一页)左侧的两个按钮位于“编辑”标签下,该标签是我的自定义编辑按钮的一部分。请注意,页面框仍然很宽。此外,第一张图像中可见的右侧“View 1-10 of 1005”在较窄的网格中被截断。

也许有一个设置可以解决这个问题,或者有人有解决方法。我宁愿第二个网格不必比它需要的更宽(我的解决方法是设置width到一个值而不是'auto' or 'inherit',但这会使网格列变宽。页面大小合适的文本框将为寻呼机按钮和我自己的按钮留出足够的空间。

我的网格的寻呼机/自定义按钮看起来像这样:

 .jqGrid('navGrid', '#icecreamPager', 
    { search: true, edit: false, add: false, del: false, searchText: "Search" },
   {}, // default settings for edit
   {}, // default settings for add
   {}, // default settings for delete
   {closeOnEscape: true, closeAfterSearch: true, multipleSearch: true }, // settings for search
   {}
  )
  .jqGrid('navButtonAdd', '#icecreamPager',
   { caption: "Edit", buttonicon: "ui-icon-pencil",
     onClickButton: function () {
       var grid = $("#icecreamGrid");
       var rowid = grid.jqGrid('getGridParam', 'selrow');
       var cellID = grid.jqGrid('getCell', rowid, 'icecreamID');
       var src = '@Url.Action("Edit", "Icecream", new { id = "PLACEHOLDER" })';
       document.location = src.replace('PLACEHOLDER', cellID);
    },
    position: "last"
   });

我一直在浏览 jqGrid 文档和示例,但还没有想到如何设置它。有想法吗?这是 4.0 jqGrid。


我假设您使用 ASP.NET MVC 标准 CSS,这在 jqGrid 中带来了一些小问题。其中之一是寻呼机宽度。它可以根据以下方面进行修复

<style type="text/css">
    /* fix the size of the pager */
    input.ui-pg-input { width: auto; }
</style>

另一个小建议是使用

<style type="text/css">
    table { border-style:none; border-collapse:separate; }
    table td { border-style:none; }
</style>

or

<style type="text/css">
    div.ui-jqgrid-view table.ui-jqgrid-btable {
        border-style:none;
        /*border-top-style:none;*/
        border-collapse:separate;
    }
    div.ui-jqgrid-view table.ui-jqgrid-btable td {
        border-left-style:none
    }
    div.ui-jqgrid-view table.ui-jqgrid-htable {
        border-style:none;
        /*border-top-style:none;*/
        border-collapse:separate;
    }
    div.ui-jqgrid-view table.ui-jqgrid-btable th {
        border-left-style:none
    } 
</style>

这将解决宽度计算的一些问题,并将删除不需要的水平滚动条。我做了功能请求对jqGrid的标准CSS进行相应的更改,但请求仍未得到答复。

我建议你看看the demo from 答案。所有设置和其他一些技巧都在演示中使用。演示项目降级到 VS2008 对应于问题,但只需进行最小的修改,您就可以将其转换回 VS2010。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调整jqGrid页面编辑框的大小 的相关文章

随机推荐