2011-12-14 169 views
1

我有一個用jqGrid創建的表(使用JSON POST數據生成)。導航工作得很好。 我設置了顯示搜索按鈕的選項。Jqgrid和navgrid搜索按鈕

當我點擊所顯示的選項...但沒有研究後...

做了研究與JavaScript中的數組元素做了,或者它指定一個URL中的Ajax搜索?

這是我的代碼。

<div id="liste"> 
<div id="messagebox"></div> 
<div id="filter"></div> 
<table id="list" class="scroll" cellpadding="0" cellspacing="0"></table> 
<div id="pager" class="scroll" style="text-align:center;"></div> 
</div> 

<script type="text/javascript">  
$(document).ready(function(){ 

    $("#list").jqGrid({ 
     url:'/admin/statistique/getjson/', 
     datatype: 'json', 
     mtype: 'POST', 
     colNames:['','Nom','Visites Totales', 'Visites Uniques','Contact'], 
     colModel:[ 
      {name:'edition',index:'edition', sortable:false,editable: false,width:15, align:"center"}, 
      {name:'etablissement_nomAMarrakech',index:'etablissement_nomAMarrakech', sortable:true, editable: false,width:150, align:"center"}, 
      {name:'',index:'', sortable:false, editable: false,width:200, align:"center"}, 
      {name:'',index:'', sortable:false, editable: false,width:200, align:"center"}, 
      {name:'',index:'', sortable:false, editable: false,width:240, align:"center"} 
     ], 
     pager: '#pager', 
     rowNum:10, 
     rowList:[10,25,50,100,300], 
     sortname: 'etablissement_nomAMarrakech', 
     viewrecords: true, 
     autowidth: true, 
     rownumbers: false, 
     gridview : true, 
     sortorder: "desc", 
     caption:"Aperçu des statistiques" 
    }); 

    jQuery("#list").jqGrid('navGrid','#pager',{edit:false,add:false,del:false,search:false,refresh:false});   
}); 

</script> 

這裏是一個屏幕

Generated Grid

正如你可以看到,當我提交表單,jqGrid的寫 「載入中...」,但沒有行是檢查...

真誠,

回答

2

您使用

name:'',index:'' 

定義了三列網格。這是錯誤的。您可以與您嘗試用三個名稱爲''的屬性聲明類的代碼進行比較。

name屬性是強制性的。它必須是唯一的,不能等於保留名稱('rn','cb'和'subgrid')中的一個,並且不應該包含像'。',''等jQuery選擇器中使用的元字符。 (見here)。

此外,如果您使用datatype: 'json'而沒有loadonce: true,服務器將負責數據過濾。在搜索請求上,將發送對服務器的新請求,其具有另外的 參數,如&searchField=edition&searchString=Spa&searchOper=cn。服務器應該返回jqGrid過濾的數據。

+0

不錯的幫助和資源。非常感謝你。現在我知道有像searchString這樣的參數...我測試它工作。 –

+0

@Raphaël:不客氣! – Oleg