jqGrid没有显示表

时间:2011-01-10 16:12:27

标签: jqgrid

我正在尝试使用jqGrid显示一个表。 有人可以解释一下为什么这不起作用?我看不到任何表格,我没有得到任何javascript错误! 您可以将此代码复制并粘贴到html文件中,它应该可以工作(一旦问题解决了)

谢谢

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html width="100%" height="100%">
<head>
    <title>payments search</title>
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.js" type="text/javascript"></script>
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery-ui-1.8.1.custom.min.js" type="text/javascript"></script>
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.layout.js" type="text/javascript"></script>
    <script src="http://www.trirand.com/blog/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript"></script>
    <script type="text/javascript">
        $.jgrid.no_legacy_api = true;
        $.jgrid.useJSON = true;
    </script>
    <script src="http://www.trirand.com/blog/jqgrid/js/ui.multiselect.js" type="text/javascript"></script>
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.tablednd.js" type="text/javascript"></script>
    <script src="http://www.trirand.com/blog/jqgrid/js/jquery.contextmenu.js" type="text/javascript"></script>
    <link rel="Stylesheet" type="text/css" href="http://www2.test.org.uk/OpenSocialSamples/visualiser.css" />
    <script type="text/javascript">
        jQuery("#list4").jqGrid({
            datatype: "local",
            height: 250,
            colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
            colModel:[
                {name:'id',index:'id', width:60, sorttype:"int"},
                {name:'invdate',index:'invdate', width:90, sorttype:"date"},
                {name:'name',index:'name', width:100},
                {name:'amount',index:'amount', width:80, align:"right",sorttype:"float"},
                {name:'tax',index:'tax', width:80, align:"right",sorttype:"float"},
                {name:'total',index:'total', width:80,align:"right",sorttype:"float"},
                {name:'note',index:'note', width:150, sortable:false}
            ],
            multiselect: true,
            caption: "Manipulating Array Data"
        });
        var mydata = [
            {id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
            {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
            {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
            {id:"4",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
            {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
            {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
            {id:"7",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
            {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
            {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}
        ];
        for(var i=0;i<=mydata.length;i++)
            jQuery("#list4").jqGrid('addRowData',i+1,mydata[i]);
    </script>
</head>
<body width="100%" height="100%" style="margin: 0px; padding: 0.5em;">
    <table id="list4"></table>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

您的代码中存在一些错误。主要问题是您不包含任何真正需要的CSS文件,并且不使用jQuery(document).ready(function () {/*you code here*/});构造来等待文档加载。为了减少单词,我修复了所有问题,并将代码更改为使用data参数,而不是效果较差addRowData

您可以看到固定示例直播here