【问题标题】:jqGrid overlay problemjqGrid叠加问题
【发布时间】:2010-10-29 14:09:19
【问题描述】:

我在this post之后来下一个问题。

加载数据后,灰色覆盖覆盖页面上的所有内容,但网格数据除外。负责的 css div id 是 lui_list。任何想法,如何解决这个问题?

这就是我运行 jqgrid 脚本的方式:

<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery("#list").jqGrid({
            url: '/Ticket/All/',
            datatype: 'json',
            mtype: 'GET',
            colNames: ['Id', 'Hardware', 'Issue', 'IssueDetails', 'RequestedBy', 'AssignedTo', 'Priority', 'State'],
            colModel: [
          { name: 'Id', index: 'Id', key: true, width: 100 },
          { name: 'Hardware', index: 'Hardware', width: 100 },
          { name: 'Issue', index: 'Issue', width: 200 },
          { name: 'IssueDetails', index: 'IssueDetails', width: 200 },
          { name: 'RequestedBy', index: 'RequestedBy', width: 150 },
          { name: 'AssignedTo', index: 'AssignedTo', width: 150 },
          { name: 'Priority', index: 'Priority', width: 100 },
          { name: 'State', index: 'State', width: 100}],
            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [5, 10, 20, 50],
            sortname: 'Id',
            sortorder: "desc",
            viewrecords: true,
            imgpath: '/Content/images/',
            caption: 'My first grid'
        });
    }); 
</script>

<h2>My Grid Data</h2>
<table id="list"></table>
<div id="pager"></div>

还有html头:

<link href="/Content/jquery-ui-1.8.5.custom.css" rel="stylesheet" type="text/css"  />
<link href="/Content/ui.jgrid.css" rel="stylesheet" type="text/css"  />
<script type="text/javascript" src="/Scripts/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.5.custom.min.js"></script>
<script type="text/javascript" src="/Scripts/grid.locale-en.js" ></script>
<script type="text/javascript" src="/Scripts/jquery.jqGrid.min.js" ></script>

我们将不胜感激。

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    您忘记包含特定于 jqgrid 的 css 文件! 包含此文件后,您的问题就解决了。

    【讨论】:

    • 哇。没看到我觉得很傻。感谢您的帮助。
    • 这很烦人。不习惯缺少 .css 文件导致出现灰色覆盖。
    • 这比弄清楚为什么上面的“隐藏加载”方法不起作用更好地解决了我的问题。很高兴我向下滚动...谢谢@hagen!
    • 因为那个灰色的覆盖层,我一直在沮丧。谢谢!
    • 我不明白! jqgrid 特有的文件是什么?这不是ui.jgrid.css吗?我已将其包含在内,但仍未解决我的问题。
    【解决方案2】:

    我不知道为什么加载结束后叠加层仍会显示。我只能假设您在加载 jqGrid 期间使用了一些 CSS 类,例如“加载”。独立于原因,您可以很容易地解决问题。您应该使用以下代码隐藏相应的 div,例如:

    var grid_id = "list"; // jQuery("#list")[0].id;
    var hideLoading = function () {
        jQuery("#lui_"+grid_id).hide();
        jQuery("#load_"+grid_id).hide();
    }
    
    jQuery("#list").jqGrid({
        // all current options
        loadComplete: function() {
            hideLoading();
        },
        loadError: function() {
            hideLoading();
        }
    });
    

    【讨论】:

    • 嗨,奥列格。再次感谢您的帮助。这确实解决了问题。我会投票,但等待标记为答案 - 也许其他人将能够找到覆盖不自动隐藏的问题。
    • @kMike 对我来说,覆盖问题始于我从 jQuery 1.4.1 升级到 1.5.2 时。我在 jqGrid 的 3.6.4 版本上,没有时间切换到 4.0.0。奥列格的修复对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 2011-04-13
    • 1970-01-01
    相关资源
    最近更新 更多