jqgrid中對錶格數據操作的方法

http://www.cnblogs.com/hongzai/p/3159546.html

1. getGridParam

        這個方法用來獲得jqGrid的選項值。它具有一個可選參數name,name即代表着jqGrid的選項名,如果不傳入name參數,則會返回 Jqgrid整個選項options。例如:

1
2
3
4
5
6
var id = $("#gridTable").jqGrid("getGridParam""selrow");      //獲得選中行的ID
var sort = $("#gridTable").jqGrid("getGridParam""sortname");  //獲得排序的字段
var page = $("#gridTable").jqGrid("getGridParam""page");      //獲得當前的頁數
var row = $("#gridTable").jqGrid("getGridParam""rowNum");     //獲得當前頁的行數
var count = $("#gridTable").jqGrid("getGridParam""records");  //獲得總記錄數
var rows = $("#gridTable").jqGrid("getGridParam""selarrrow"); //可以多選時,返回選中行的ID

2. getRowData

這個方法用來獲得某行的數據。它具有一個rowid參數,Jqgrid會根據這個rowid返回對應行的數據,返回的是name:value類型的數組。如果rowid未能被找到,則返回一個空數組;如果未設置rowid參數,則以數組的形式返回Grid的所有行數據。例如:

1
2
3
var getRowdata = function() {
    var selectedId = $("#gridTable").jqGrid("getGridParam""selrow");
    var rowData = $("#gridTable").jqGrid("getRowData", selectedId);

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指定行的前面或後面。
        這個方法可以一次性插入多行,data參數必須是[{name1:value1,name2: value2…}, {name1:value1,name2: value2…}]這樣的數組形式。例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var addStudent= function() {
var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow");
var dataRow = {
id : 99,
lastName : "Zhang",
firstName : "San",
email : "<a href="mailto:[email protected]">[email protected]</a>",
telNo : "0086-12345678"
};
if (selectedId) {
$("#gridTable").jqGrid("addRowData", 99, dataRow, "before", selectedId);
} else {
$("#gridTable").jqGrid("addRowData", 99, dataRow, "first");
}
};
        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。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
var updateStudent = function() {
var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow");
var dataRow = {
lastName : "Li",
firstName : "Si",
email : "<a href="mailto:[email protected]">[email protected]</a>"
};
var cssprop = {
color : "#FF0000"
};
$("#gridTable").jqGrid('setRowData', selectedId, dataRow, cssprop);
};

5. delRowData

        這個方法用於刪除某行數據。執行成功返回true,否則返回false。具有一個參數rowid,代表要刪除的行id。例如:

1
2
3
4
var deleteStudent = function() {
var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow");
$("#gridTable").jqGrid('delRowData', selectedId);
};

6. trigger(“reloadGrid”)

        根據當前設置,重新載入Grid表格,即意味着向服務端重新發送一個新的請求。此方法只能用於已經構建好的Grid。此外,此方法不會使對colModel所做出的改變生效。應該使用gridUnload來重新載入對colModel的新設置。例如:

1
2
3
4
5
$("#gridTable").jqGrid("setGridParam", {
datatype : "json",
search : true,
mtype : "post"
}).trigger("reloadGrid");

7. 其他方法

除了以上介紹的的方法外,jqGrid還有其他有用的方法,例如:addJSONData、clearGridData、hideCol、resetSelection、setCaption、setGridHeight、setLabel、showCol等以及增強模塊提供的方法,例如:filterGrid、GridDestroy、GridUnload、setColProp等。這些方法的具體用法,或淺顯易懂,或不是非常常用。都可以參考官方文檔(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods),得到具體指示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章