phpjqgrid
① jqgrid能前台分頁么jqgrid前端分頁和排序的實現
jQuery("#list27").jqGrid({
url:'localset.php',
datatype: "json",
height: 255,
width: 600,
colNames:['Index','Name', 'Code'],
colModel:[
{name:'item_id',index:'item_id', width:65, sorttype:'int'},
{name:'item',index:'item', width:150},
{name:'item_cd',index:'item_cd', width:100}
],
rowNum:50,
rowTotal: 2000, ----一次載入的最大行數
rowList : [20,30,50],
loadonce:true,
----一次載入
mtype: "GET",
rownumbers: true,
rownumWidth: 40,
gridview: true,
pager: '#pager27',
sortname: 'item_id',
viewrecords: true,
sortorder: "asc",
caption: "Loading data from server at once"
});
② jqgrid怎樣傳遞參數
這個很簡單,你只需要定義一個變數,然後通過一個屬性postData來傳遞參數就行了。
var PostData={year:2013,projectcode:"value"};
jQuery("#list").jqGrid({
postData: PostData,
……
這樣在後台就可以得到這兩個參數了。
③ jqgrid 不能選中行, 每次點擊單元格都自動選中第一行
此問題應該是沒有主鍵或者主鍵不唯一,看你的圖應該是你沒有給定哪個列作為rowid,你試試在id列後面加上 key:true ,應該可以解決
④ jqgrid 如何接收thinkphp的返回值
varfn_editSubmit=function(response,postdata){
varjson=response.responseText;
alert(json);//顯示返回值
}
//重寫editOptions
vareditOptions={
top:50,left:"100",width:800
,closeOnEscape:true,afterSubmit:fn_editSubmit
}
在定義navGrid的時候加上editOptions,例如
jQuery("#list2").jqGrid('navGrid','#pager2',{edit:true,add:true,del:false},editOptions,{},{},{},{multipleSearch:true});
⑤ 從資料庫中的行jqGrid顯示圖像問題,怎麼解決
$(function(){ jQuery("#list").jqGrid({ url:'do.php?action=list', //請求數據的url地址 datatype: "json", //請求的數據類型 height: 600, width: 1100, colNames:['訂單號','訂單ID','客戶姓名','訂單SKU','產品名稱', '數量','訂單狀態'], //數據列名稱(數組) colModel:[ //數據列各參數信息設置 {name:'order_id',index:'order_id', editable:true, width:190,align:'center',title:false}, {name:'order_item_id',index:'order_item_id', width:130,title:false,formatter:imageFormat}, {name:'buyer_name',index:'buyer_name', width:100}, {name:'sku',index:'sku', width:90}, {name:'proct_name',index:'proct_name', width:250,align:'center'}, {name:'quantity_purchased',index:'quantity_purchased', width:40,align:'center'}, {name:'shipments',index:'shipments', width:60, sortable:false, align:'center'} ], rowNum:10, //每頁顯示記錄數 rowList:[10,20,30], //分頁選項,可以下拉選擇每頁顯示記錄數 pager: '#pager', //表格數據關聯的分頁條,html元素 autowidth: true, //自動匹配寬度 height:275, //設置高度 gridview:true, //加速顯示 viewrecords: true, //顯示總記錄數 loadonce:true, rownumbers: true, multiselect: false, //可多選,出現多選框 multiselectWidth: 25, //設置多選列寬度 sortable:true, //可以排序 sortname: 'order_id', //排序欄位名 sortorder: "desc", //排序方式:倒序,本例中設置默認按id倒序排序 loadComplete:function(data){ //完成伺服器請求後,回調函數 if(data.records==0){ //如果沒有記錄返回,追加提示信息,刪除按鈕不可用 $("p").appendTo($("#list")).addClass("nodata").html('找不到相關數據!'); $("#del_btn").attr("disabled",true); }else{ //否則,刪除提示,刪除按鈕可用 $("p.nodata").remove(); $("#del_btn").removeAttr("disabled"); } } }); jQuery("#list").jqGrid('navGrid','#pager',{del:false,add:false,edit:false,search:false});jQuery("#list").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false}); });
⑥ jqgrid怎麼對某個欄位
<divclass="main"style="margin-left:400px;">
<tableid="list_grid"class="grid"></table>
<divid="list_pager"></div>
</div>
jqgrid部分:
$("#stocklist_grid").jqGrid({
url:'ajax.php?action=get_stock_list',
datatype:"json",
mtype:"POST",
colNames:['ID','Code','Name','Mark'],
colModel:[
{name:'id',index:'id',width:60,align:'center'},
{name:'code',index:'code',wdith:80,align:'center',editable:true,edittype:'textarea',editoptions:{rows:'10'}},
{name:'name',index:'name',width:80,align:'center'},
{name:'mark',index:'mark',width:220,align:'left',formatter:function(cellvalue,options,rowObj){
return"<spanid='"+rowObj.id+"'class='mark_data'style='display:block;width:100%;cursor:pointer;'>"+cellvalue+"</span>";
}}
],
⑦ jqgrid怎麼實現增刪改查
jqGrid的調用以及常用增刪改查的使用方法 以下是代碼參考一下吧
jquery grid是富客戶端的,基於XML , Ajax網格插件的jQuery庫。 jqGridView提供專業的解決方案,代表和編輯表格數據在網路上。精心設計的,具有強大的腳本API的,這可編輯網格是很簡單的DHTML與XML 的配置,並顯示出令人信服的成果與大量數據。現在我現在熟悉一下jquery grid的的使用方法和一些常用的option設置。
jquery grid是富客戶端的,基於XML , Ajax網格插件的jQuery庫。 jqGridView提供專業的解決方案,代表和編輯表格數據在網路上。精心設計的,具有強大的腳本API的,這可編輯網格是很簡單的DHTML與XML 的配置,並顯示出令人信服的成果與大量數據。現在我現在熟悉一下jquery grid的的使用方法和一些常用的option設置。
1.調用grid
jqGrid已經可以從Server端獲得數據,並顯示在Grid表格中了。下面說一下,如何操作Grid表格及其數據。
jqGrid有很多方法函數,用來操作數據或者操作Grid表格本身。jqGrid的方法有兩種調用方式:
1 $("#grid_id").jqGridMethod( parameter1,...,parameterN );
或者
1 $("#grid_id").jqGrid('method', parameter1,...,parameterN );
2.常用的方法函數(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods )
1. getGridParam
這個方法用來獲得jqGrid的選項值。它具有一個可選參數name,name即代表著jqGrid的選項名,例如:
1 var id = $("#gridTable").jqGrid("getGridParam", "selrow");
即可獲得當前選中的行的ID。
註:selrow是jqGrid選項之一,默認值是null。這是一個只讀選項,代表最後選中行的ID。如果執行翻頁或者排序後,此選項將被設為null。關於其他選項,後續會有介紹。
如果不傳入name參數,則會返回jqGrid整個選項options。
2. getRowData
這個方法用來獲得某行的數據。它具有一個rowid參數,jqGrid會根據這個rowid返回對應行的數據,返回的是name:value類型的數組。例如:
1 var getContact = function() {
2 var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow");
3
4 var rowData = $("#gridTable").jqGrid("getRowData", selectedId);
5
6 alert("First Name: " + rowData.firstName);
7 };
如果rowid未能被找到,則返回一個空數組;如果未設置rowid參數,則以數組的形式返回Grid的所有行數據。
3. addRowData
這個方法用於向Grid中插入新的一行。執行成功返回true,否則返回false。它具有4個參數:
rowid :新行的id號;
data :新行的數據對象,形式為{name1:value1,name2: value2…},其中name為colModel中定義的列名稱name;
position :插入的位置(first:表格頂端;last:表格底端;before:srcrowid之前;after:srcrowid之後);
srcrowid :新行將插入到srcrowid指定行的前面或後面。
例如:
01 var addContact = function() {
02 var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow");
03
04 var dataRow = {
05 id : 99,
06 lastName : "Zhang",
07 firstName : "San",
08 email : "[email protected]",
09 telNo : "0086-12345678"
10 };
11
12 if (selectedId) {
13 $("#gridTable").jqGrid("addRowData", 99, dataRow, "before", selectedId);
14
15 } else {
16 $("#gridTable").jqGrid("addRowData", 99, dataRow, "first");
17
18 }
19 };
這個方法可以一次性插入多行,data參數必須是[{name1:value1,name2: value2…}, {name1:value1,name2: value2…}]這樣的數組形式,而且rowid參數也應該設為data參數對象中代表id的field名稱。不過,此時的rowid不用必須是colModel中的一部分。
例如:
01 var addContact = function() {
02 var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow");
03
04 var dataRow = [{
05 id : 99,
06 lastName : "Zhang",
07 firstName : "San",
08 email : "[email protected]",
09 telNo : "0086-12345678"
10 },
11 {
12 id : 100,
13 lastName : "Li",
14 firstName : "Si",
15 email : "[email protected]",
16 telNo : "0086-12345678"
17 },
18 {
19 id : 101,
20 lastName : "Wang",
21 firstName : "Wu",
22 email : "[email protected]",
23 telNo : "0086-12345678"
24 }];
25
26 if (selectedId) {
27 $("#gridTable").jqGrid("addRowData", "id", dataRow, "before", selectedId);
28
29 } else {
30 $("#gridTable").jqGrid("addRowData", "id", dataRow, "first");
31
32 }
33 };
註:我測試了一下,一次插入多行的情況下,用於設置插入位置的後兩個參數,似乎沒有起作用。插入的幾行數據都被置於Grid的底端。
4. setRowData
這個方法用於為某行數據設置數據值。執行成功返回true,否則返回false。它具有3個參數:
rowid :更新數據的行id;
data :更新的數據對象,形式為{name1:value1,name2: value2…},其中name為colModel中定義的列名稱name;這個數據對象,不必設置完全,需要更新哪列,就設置哪列的name:value對;
cssprop :如果cssprop為String類型,則會使用jQuery的addClass為行增加相應名稱的CSS類;如果為object類型,則會使用html的css屬性,為行添加樣式。如果只想增加css樣式而不更新數據,可以將data參數設為false。
5. delRowData
這個方法用於刪除某行數據。執行成功返回true,否則返回false。具有一個參數rowid,代表要刪除的行id。
6. setGridParam
這個方法與getGridParam對應,用於設置jqGrid的options選項。返回jqGrid對象。參數為{name1:value1,name2: value2…}形式的對象(name來自jqGrid的options選項名)。某些選項在設置之後需要trigger("reloadGrid"),才能顯示出效果。
7. setGridWidth
為Grid動態地設定一個新的寬度。兩個參數:
new_width :以px為單位的新寬度值;
shrink :作用與jqGrid的shrinkToFit選項相同;如果此參數未設置,則沿用jqGrid的shrinkToFit選項的值。
8. trigger("reloadGrid")
根據當前設置,重新載入Grid表格,即意味著向Server發送一個新的請求。此方法只能用於已經構建好的Grid。此外,此方法不會使對colModel所做出的改變生效。應該使用gridUnload來重新載入對colModel的新設置。
⑧ 怎麼獲取jqgrid表格的選中行
子表格也是一個jqgrid,你可以像操作主表格一樣操作子表格的
subGridRowExpanded: function(subgrid_id, row_id) {
// we pass two parameters
// subgrid_id is a id of the div tag created whitin a table data
// the id of this elemenet is a combination of the "sg_" + id of the row
// the row_id is the id of the row
// If we wan to pass additinal parameters to the url we can use
// a method getRowData(row_id) - which returns associative array in type name-value
// here we can easy construct the flowing
var subgrid_table_id, pager_id;
subgrid_table_id = subgrid_id+"_t";
pager_id = "p_"+subgrid_table_id;
$("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'</table<div id='"+pager_id+"' class='scroll'</div");
jQuery("#"+subgrid_table_id).jqGrid({
url:"subgrid.php?q=2&id="+row_id,
datatype: "xml",
colNames: ['No','Item','Qty','Unit','Line Total'],
colModel: [
{name:"num",index:"num",width:80,key:true},
{name:"item",index:"item",width:130},
{name:"qty",index:"qty",width:70,align:"right"},
{name:"unit",index:"unit",width:70,align:"right"},
{name:"total",index:"total",width:70,align:"right",sortable:false}],
rowNum:20,
pager: pager_id,
sortname: 'num',
sortorder: "asc",
然後子表格的操作就是jQuery("#"+subgrid_table_id).jqGrid('getGridParam','selarrrow');