jqGrid无法正常显示

时间:2012-05-01 03:38:37

标签: jquery jqgrid

我正在使用jQuery网格插件jqGrid来显示数据数组。

我想要达到的目标是什么 1.默认情况下,该网格为空。 2.当用户点击搜索按钮时,它将使用AJAX加载数据 3.数据将加载到网格中。

从附件中,我有这个错误

  1. 网格宽度不是100%px,它是两个小
  2. 寻呼机未显示。如何使用方法来控制寻呼机?
  3. 如何解决?有样品吗?

    由于

    screenshot

    <h2>Search</h2>
    <form id="project_search_form">
    <table class="grid">
    ...
        <tr>        
            <td><a  class="form_button" onclick="searchProject();" href="#">search</a></td> 
        </tr>
    </table>
    </form>
    
    
    <table id="projectList"></table> 
    <div id="projectPager"></div>
    
    <script type="text/javascript">
    
    $(document).ready(function(){
    
        jQuery("#projectList").jqGrid({ 
            url:'server.php?q=2', 
            datatype: "json", 
            colNames:['ID','Name'], 
            colModel:[ {name:'projectId',index:'id', width:55} , {name:'name',index:'name', width:55}], 
            rowNum:10, 
            rowList:[10,20,30], 
            pager: '#pager5', 
            sortname: 'id', 
            viewrecords: true, 
            sortorder: "desc", 
            caption:"Simple data manipulation", 
            editurl:"someurl.php" }).navGrid("#projectPager",{edit:false,add:false,del:false}); 
    });
    
    function searchProject(){
        var param =  $('#project_search_form').serialize();
         BaseAjaxUtil.object_search(param, 
                  {
                     callback:function(data){                        
                         var jsongridRows = eval("("+data+")");
    
                         for(var i = 0; i < jsongridRows.length; i++) {
                            var datarow = jsongridRows[i];      
                            var su=jQuery("#projectList").jqGrid('addRowData',i+1, datarow); 
                            // if(su) alert("Succes. Write custom code to add data in server"); else alert("Can not update");
                         }
    
                     },
                     errorHandler:function(errorString) { alert("error:"+errorString); }            
                    }
                  );        
    }
    </script>
    

1 个答案:

答案 0 :(得分:0)

您可以使用autowidth: true选项来控制宽度。来自jqGrid docs

  

设置为true时,网格宽度会自动重新计算为父元素的宽度。这仅在最初创建网格时完成。为了在父元素更改宽度时调整网格大小,您应该应用自定义代码并使用setGridWidth方法来实现此目的

然后你只需要确保你的父元素具有适当的宽度。