【问题标题】:jqgrid - icons not displaying - version issue?jqgrid - 图标不显示 - 版本问题?
【发布时间】:2011-12-28 04:58:56
【问题描述】:

我之前使用的是以下版本:

  • jQuery - 1.4.3
  • jqGrid - 4.1.2

现在我使用以下版本:

  • jQuery - 1.6.4
  • jqGrid - 4.3.1

使用最新版本时,我注意到以下几点:

  • 默认不显示jqgrid的列排序图标。它们仅在单击列标题时显示。

  • jqgrid 分页单元pager_right 为空。它应该显示重新加载和搜索的图标

  • jqgrid 调整大小句柄不显示。我正在使用

    $("#myjqgrid").jqGrid('gridResize',{minWidth:800,maxWidth:1405,minHeight:350,maxHeight:680});

我比较了以下多次,但一切似乎都一样

  • CSS

  • jqgrid 定义

有没有其他人经历过这种情况?还是我错过了什么?

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Jquery Grid</title>
        <link rel="stylesheet" type="text/css" media="screen" href="themes/redmond/jquery-ui-1.8.1.custom.css" />
        <link rel="stylesheet" type="text/css" media="screen" href="themes/ui.jqgrid.css" />
        <link rel="stylesheet" type="text/css" media="screen" href="themes/ui.multiselect.css" />
        <script src="js/jquery-1.6.4.js" type="text/javascript"></script>
        <script src="js/jquery-ui-1.8.14.custom.min.js" type="text/javascript"></script>
        <script src="js/jquery.layout.js" type="text/javascript"></script>
        <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
        <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>  
        <script src="plugins/ui.multiselect.js" type="text/javascript"></script>
        <script src="plugins/jquery.tablednd.js" type="text/javascript"></script>
        <script src="plugins/jquery.contextmenu.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="content">
            <div class="userinfo">
                <table id="myjqgrid"></table>
                <div id="Pager"></div>                  
                <script src="js/myjqgrid.js" type="text/javascript"></script>                   
            </div>
        </div>
    </body>
</html>

JSON

{
    "colModel": [
        {
            "name": "ID",
            "label": "ID",
            "width": 60,
            "align": "left",
            "jsonmap": "cells.0.value",
            "sortable": true      
        },
        {
            "name": "FirstName",
            "label": "FirstName",
            "width": 100,
            "align": "left",
            "jsonmap": "cells.1.value",
            "sortable": false       
        },
        {
            "name": "LastName",
            "label": "LastName",
            "width": 100,
            "align": "left",
            "jsonmap": "cells.2.value",
            "sortable": false       
        }
    ],
    "colNames": [
        "ID",
        "FirstName",
        "LastName"
    ],
    "mypage": {
        "outerwrapper": {
            "page":"1",
            "total":"1",
            "records":"1",
            "innerwrapper": {
                "rows":[
                    {
                        "id":"1",
                        "cells":
                        [               
                            {
                                "value":"12345",
                                "label": "ID"                       
                            },
                            {
                                "value":"David",
                                "label": "FirstName"    
                            },
                            {                           
                                "value":"Smith",
                                "label": "LastName"                         
                            }                                                                                       
                        ]       
                    },
                    {
                        "id":"2",
                        "cells":
                        [               
                            {
                                "value":"37546",
                                "label": "ID"                       
                            },
                            {
                                "value":"Willy",
                                "label": "FirstName"    
                            },
                            {                           
                                "value":"Peacock",
                                "label": "LastName"                         
                            }                                                                                       
                        ]       
                    },
                    {
                        "id":"3",
                        "cells":
                        [               
                            {
                                "value":"62345",
                                "label": "ID"                       
                            },
                            {
                                "value":"Kim",
                                "label": "FirstName"    
                            },
                            {                           
                                "value":"Holmes",
                                "label": "LastName"                         
                            }                                                                                       
                        ]       
                    },
                    {
                        "id":"4",
                        "cells":
                        [               
                            {
                                "value":"186034",
                                "label": "ID"                       
                            },
                            {
                                "value":"Andy",
                                "label": "FirstName"    
                            },
                            {                           
                                "value":"Wills",
                                "label": "LastName"                         
                            }                                                                                       
                        ]       
                    }
                ]
            }
        }
    }
}

JQGrid 定义 (myjquery.js)

$(document).ready(function () { 
    $.ajax({
        type: "GET",
        url: "myjqgrid.json",
        data: "",
        dataType: "json",
        success: function(response){
            var columnData = response.mypage.outerwrapper,
                columnNames = response.colNames,
                columnModel = response.colModel;

            $("#myjqgrid").jqGrid({
                datatype: 'jsonstring',
                datastr: columnData,                
                colNames: columnNames,
                colModel: columnModel,
                jsonReader: {
                    root: "innerwrapper.rows",              
                    repeatitems: false
                },
                gridview: true,
                pager: "#Pager",
                rowNum: 2,
                rowList: [2, 4, 6, 8],
                viewrecords: true,              
                recordpos: 'left',
                multiboxonly: true,
                multiselect: true,
                sortname: 'id',
                sortorder: "desc",  
                sorttype: "text",   
                sortable: true,
                caption: "<h2>My JQGrid</h2>",
                width: "1406",      
                height: "100%",
                scrolloffset: 0,    
                loadonce: true,     
                cache: true,
                loadComplete: function(data){

                }
            });
        }
    });
    $("#myjqgrid").jqGrid('navGrid','#Pager');
    $("#myjqgrid").jqGrid('gridResize',{minWidth:800,maxWidth:1405,minHeight:350,maxHeight:680});
});

【问题讨论】:

  • 您是否尝试过使用 jqGrid 4.3.1,但使用了一些旧版本的 jQuery (
  • @Oleg:是的,我用 jQuery 1.4.3 尝试了 jqGrid 4.3.1,但它仍然不起作用。我已经发布了我的 html、json 和 jqgrid 定义代码。
  • @Oleg:你能指出我哪里出错了吗?

标签: jquery jqgrid


【解决方案1】:

对我来说,这是 .png 文件没有被拾取的情况。在 jquery-ui.css 中,通过将 ../ 放在前面来更改您的相对引用,例如 images/xxxxx.png 变为 ../images/xxxxxx.png

【讨论】:

    【解决方案2】:

    问题后面还有一些小问题。

    第一个问题。您应该移动调用 navGridgridResize 的行 insidesuccess 处理程序。因此,网格的导航器和调整大小的元素将在之后创建,然后网格将被创建。

    您使用recordpos: 'left' 将“查看 1-2 of 4”之类的文本放置在左侧,这些文本通常位于寻呼机的右侧。然后您使用任何其他选项致电navGrid。因此默认情况下将使用position: 'left'。如果这种情况下,导航栏将放置在“查看 1-2 of 4”之类的文本下,并且不会看到导航图标。

    您可以通过两种方式解决问题。您可以使用position: 'right' 选项

    $("#myjqgrid").jqGrid('navGrid','#Pager', {position: 'right'});
    

    如果收到the demo:

    或者您可以使用代码删除寻呼机的固定高度

    $('#Pager').css("height", "auto");
    

    another demo:

    另一种选择是删除recordpos: 'left' 选项并接收标准导航器和寻呼机布局(请参阅here):

    【讨论】:

    • ...以及列标题中的排序图标...为什么它们不显示?
    • @SK11:因为您使用sortname: 'id' 并且没有名称为'id' 的列。如果您将参数更改为sortname: 'ID',您将立即在“ID”列上看到排序图标。
    • 哎呀..我的错。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2014-02-05
    相关资源
    最近更新 更多