2011-01-10 96 views
0

我试图用jqGrid显示一个表。 有人可以解释为什么这不起作用吗?我看不到任何表格,并且我没有收到任何javascript错误! 您可以复制和粘贴在HTML文件中的代码,它应该工作(一旦问题解决)jqGrid没有显示表

谢谢

<!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

有在你的代码的一些错误。主要的问题是,你不包含真正需要的任何CSS文件,也不会使用jQuery(document).ready(function() {/*you code here*/});构造来等待文档加载。要写更少的话我修复了所有问题并更改了代码以使用data参数而不是效率更低addRowData

你可以看到固定的示例活here