【问题标题】:jqGrid not display properlyjqGrid 无法正常显示
【发布时间】:2012-05-01 03:38:37
【问题描述】:

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

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

从附件中,我有这个错误

  1. 网格宽度不是 100% px,是两个小
  2. 寻呼机不显示。如何使用方法控制寻呼机?

如何解决?有样品吗?

谢谢

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

【问题讨论】:

  • 注意:您引用 ID #pager5 作为将包含分页器的元素,但您的 HTML 标记不包含 ID 为 #pager5 的元素。这里也有很多例子trirand.com/blog/jqgrid/jqgrid.html
  • 是的,你是对的。那么如何控制它的宽度呢?

标签: jquery jqgrid


【解决方案1】:

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

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

那么你只需要确保你的父元素的宽度合适。

【讨论】:

    猜你喜欢
    • 2020-06-10
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2017-07-19
    • 1970-01-01
    • 2018-06-05
    • 2013-12-14
    • 1970-01-01
    相关资源
    最近更新 更多