jqGrid的屬性很多,其實很大部分的屬性,使用其預設值就可以了。但是詳細瞭解一下屬性的含義以及作用,對我們定製自己的grid是有幫助的。
以下內容描述格式是:
- 屬性名稱
引數值型別
描述內容(可能有多行)
預設值
是否可修改(表示grid建立完成之後,該屬性是否能夠被修改。也就是說,是否grid的初始化的屬性值能夠被修改)
————詳細屬性列表————
- ajaxGridOptions
object
本選項用來設定全域性的Ajax設定。注意:這個選項會覆蓋當前所有的ajax設定,包括ajax的error、complete以及beforeSend事件。
預設值:empty object
該屬性可以修改
- ajaxSelectOptions
object
本選項用來設定select元素的ajax全域性設定。在searchoptions選項或者editoptions選項屬性設定中,可以通過設定dataUrl來獲取生成一個select的下拉框內容的URL。jqGrid通過ajax的方式訪問這個URL來自動獲取可選擇值。
注意:這裡要求通過dataUrl返回的結果是形如<select><option value =”1”>One</option><option value=”2”>Two</option></select>這種格式的字串。當然,其實也可以直接返回1:One;2:Two這種格式的資料,但是要通過另外一個選項進行處理,處理之後還是要變成上面的字串。比如searchOptions中,就有一個屬性是buildSelect,就是用來幹這事兒的。
預設值:empty object
該屬性可以修改
- altclass
string
用來設定jqGrid的交替行的class。只有設定了altRows為true才有效。
預設值:ui-priority-secondary
該屬性可以修改. Requires reload
- altRows
boolean
設定jqGrid顯示為斑馬線樣式。就是隔行用不同的背景色區分開。
預設值:false
該屬性可以修改. After reload
- autoencode
boolean
設定為true,會對從伺服器返回的資料以及編輯模式下提交的資料進行HTML編碼。比如,把小於符號轉換成<
預設值:false
該屬性可以修改
- autowidth
boolean
設定為true,grid的寬度會根據父元素的寬度自動重新計算。注意,這個值是在初始化的時候設定好了,如果要在執行中設定寬度,需要通過setGridWidth方法來修改。
預設值:false
該屬性不能修改
- caption
string
設定Grid的標題.
預設值:empty string
該屬性不能修改.Method avail.
- cellLayout
integer
本選項設定單元格的padding + border寬度. 一般情況下不要去修改。
預設值:5
該屬性不能修改
- cellEdit
boolean
設定Cell Editing模式是否啟用。
預設值:false
該屬性可以修改
- cellsubmit
string
確定Cell Editing模式下,內容儲存到遠端伺服器還是本地陣列。'remote' 或者 'clientArray'。
預設值:'remote'
該屬性可以修改
- cellurl
string
確定Cell Editing模式下,訪問的URL。
預設值:null
該屬性可以修改
- colModel
array
重要的屬性。用來設定列名稱。
預設值:empty array
該屬性不能修改
- colNames
array[]
重要的屬性。用來設定Grid每一個列的屬性,一個列作為一個陣列元素設定。Name屬性是必須的。
注意:這裡的陣列長度(也就是列數)必須和colModel陣列的長度一致。更詳細的內容,需要單獨說明。
預設值:empty array[]
該屬性不能修改
- datastr
string
如果datatype屬性設定為xmlstring或者jsonstring的情況下,本屬性用來設定其值。
預設值:null
該屬性可以修改
- datatype
string
確定grid中顯示的資料來源格式。
xml – xml資料;
xmlstring – 被當做字串的xml資料;
json – JSON格式資料 ;
jsonstring – 被當做字串的JSON資料;
local – 定義在客戶端的陣列資料;
javascript – javascript的資料
function – 客戶定義函式用來獲取資料;
預設值:xml
該屬性可以修改
- deselectAfterSort
boolean
只有當datatype設定為local才有效。當排序之後,是否重新選擇排序之前選中的行(多行)。
預設值:true
該屬性可以修改
- direction
string
確定grid中文字顯示的方向。預設ltr表示從左道右。還有一個可選值是rtl表示從右到左。
本選項只在FireFox 3.x和IE >=6的瀏覽器有效。當前Safai和Google Chrome、Opera不完全支援“rtl”。FireFox預設設定是不支援RTL的,但是可以通過修改FireFox的layout.scrollbar.side設定為1來支援。本屬性是在jqGrid v3.6版本中新增加的。
預設值:ltr
該屬性不能修改
- editurl
string
設定編輯的URL地址。
預設值:null
該屬性可以修改
- emptyrecords
string
設定當查詢記錄條數是0的情況下,jqGrid上顯示的資訊。只有當viewrecords選項設定為true才有效。
預設值:see lang file
該屬性可以修改
- ExpandColClick
boolean
設定為true,當我們點選treeGrid的文字時候,會展開或者收縮內容
預設值:true
該屬性不能修改
- ExpandColumn
string
制定到底那一列(colModel的name名稱來指定)用來展開樹形grid.如果沒有設定,預設是第一列。只有當treeGrid選項設定為true才有效。
預設值:null
該屬性不能修改
- footerrow
boolean
如果設定為true,則會在grid的底部,導航條之上顯示一個只有一行的table。列的數量和colModel定義的數量一致。
預設值:false
該屬性不能修改
- forceFit
boolean
如果設定為true,並且使用者改變了列寬度,那麼右邊臨近的列寬度會自動調整以適應grid的整體寬度。這種情況下,是沒有水平滾動條的。
注意:本選項與shrinkToFit選項不相容。如果shrinkToFit設定為false,那麼forceFit的設定將被忽略。
預設值:false
該屬性不能修改
- gridstate
string
設定grid的狀態。有兩個可選值'visible'和'hidden'
預設值:visible
該屬性不能修改
- gridview
boolean
在包括jqGrid v3.4.X之前的版本中,讀取大資料集會存在速度問題。主要原因就是每一個單元格都是用了5-6條jQuery呼叫被插入到grid中。現在我們可以通過設定gridview 選項為true來解決這個問題。這時候,我們用一個jQuery追加一次插入整行的資料。比以前快了3-5倍。
當然,使用也有限制,設定為true之後,不能使用treeGrid,subGrid或者afterInsertRow事件。
預設值:false
該屬性可以修改
- height
mixed
Grid的高度設定。如果設定為’100%’那麼高度可以自適應。不過要注意,假設我們設定每頁顯示的條數是50條記錄,設定height=’100%’,可能後面的一些記錄顯示不出來。預設情況下,grid是沒有垂直滾動條的。
預設值:150
該屬性不能修改.Method avail.
- hiddengrid
boolean
設定為true,grid初始顯示是隱藏的。隱藏情況下,資料沒有載入(沒有向伺服器的請求),只顯示標題。當grid第一次顯示的時候,才提交伺服器請求並顯示資料。
預設值:false
該屬性不能修改
- hidegrid
boolean
設定grid的隱藏/顯示按鈕是否可用。
預設值:true
該屬性不能修改
- hoverrows
boolean
設定為false,在grid的資料行中滑鼠懸浮被禁用。
預設值:false
該屬性可以修改
- jsonReader
array
定義json資料的格式描述資訊。我們預設期望的資料格式是:預設的資料根節點名稱是rows,當前頁的名稱是page……。假設我們伺服器返回的資料,root的名稱不是rows而是datas,page的名稱不是page而是currentPage,那麼可以如下重新定義jsonReader來讀取資料:
jsonReader:{
root:”datas”,
page:”currentPage”
}
預設值:無
該屬性不能修改
- lastpage
integer
只讀屬性,指定請求總共可以返回多少頁。
預設值:0
該屬性不能修改
- lastsort
integer
只讀屬性。指定了最後排序列。從0開始計數。
預設值:0
該屬性不能修改
- loadonce
boolean
如果設定為true,grid只從伺服器載入一次資料。載入資料完成之後,datatype就被指定為local,並且以後所有的操作都是基於客戶端的操作,同時,導航功能也會被禁用。
預設值:false
該屬性不能修改
- loadtext
string
請求或者排序資料的時候,顯示在頁面上的等待資訊內容。
預設值:Loading…
該屬性不能修改
- loadui
string
本選項控制在一個ajax請求執行過程中做什麼。
disable – jqGrid的指示資訊不可用。
enable - 顯示 “Loading”資訊。
block – 可以顯示“Loading”資訊,同時阻止grid的所有操作直到ajax請求完成。注意,這會禁止所有的排序、導航或者任何工具條的操作。
預設值:enable
該屬性可以修改
- mtype
string
確定請求方式。“POST”或“GET”
預設值:GET
該屬性可以修改
- multikey
string
只有當multiselect選項設定為true的時候才有意義。定義使用哪一個鍵來做多選。可選值: shiftKey/altKey/ctrlKey
預設值:empty string
該屬性可以修改
- multiboxonly
boolean
只有當multiselect = true時起作用,如果multiselect設定為true,那麼點選行任何位置都可以選中行。當multiboxonly設定為ture之後,就只有點選行前面的checkbox才會選中行。如果點選其它沒有被選中的行,那麼點中的行被選擇,其它行取消選擇。(Yahoo模式)
預設值:false
該屬性可以修改
- multiselect
boolean
定義grid中的資料行是否可以被多選。會在grid的最左邊增加一列checkbox的選擇框。
預設值:false
該屬性不能修改. see HOWTO
- multiselectWidth
integer
當multiselect為true時設定multiselect列寬度
預設值:20
該屬性不能修改
- page
integer
設定初始的頁碼。這個引數會被自動新增到URL後面,傳遞到後臺伺服器處理程式中。
預設值:1
該屬性可以修改
- pager
mixed
指定導航條物件,這裡要使用jQuery的語法來指定一個實際存在的html元素物件。大部分情況下,都是指定一個div物件的ID。
有幾種方式指定:(假設div的id=nav)
jQuery(‘#nav’)
‘#nav’(推薦用這種方式呼叫)
‘nav’
預設值:empty string. Currently only one pagebar is possible.
該屬性不能修改
- pagerpos
string
確定pager在grid中的位置。預設情況下,pager被分成三個部分。一部分用來顯示pager,一部分用作導航條按鈕,一部分用來顯示記錄資訊。
預設值:center
該屬性不能修改
- pgbuttons
boolean
確定是否顯示pager的按鈕。
預設值:true
該屬性不能修改
- pginput
boolean
確定是否顯示允許使用者直接輸入頁碼進行跳轉的輸入框。
預設值:true
該屬性不能修改
- pgtext
string
顯示關於當前頁狀態的資訊。第一個引數是當前頁碼,第二個引數是總共的頁數。
預設值:See lang file
該屬性可以修改
- prmNames
array
定製傳遞到伺服器上的Post資料的欄位名稱。預設值是:
prmNames: {page:“page”,rows:“rows”, sort: “sidx”,order: “sord”, search:“_search”, nd:“nd”, npage:null}
預設的情況下,上傳的資料如下url所示:
URL?page=1&rows=10&sidx=myindex&sord=asc
如果我們設定一下本屬性{sort:”mysort”}那麼實際呼叫的URL地址如下:
URL?page=1&rows=10&mysort=myindex&sord=asc
通過這個屬性的設定,可以改變欄位的名稱。
預設值:none
該屬性可以修改
- postData
array
設定直接通過url傳遞到伺服器的其他引數。本屬性的呼叫方式是傳遞一個形如{name1:value,name2:value2…}的陣列。
預設值:empty array
該屬性可以修改
- reccount
integer
只讀屬性。確定grid中顯示的記錄數量。不要把這個屬性和records引數混淆了。records引數確定每頁最多可以顯示的資料條數。
預設值:0
該屬性不能修改
- recordpos
string
確定記錄條數資訊在pager上面的位置。可能的值是left, center, right
預設值:right
該屬性不能修改
- records
integer
只讀屬性。確定從請求返回的記錄條數。
預設值:none
該屬性不能修改
- recordtext
string
顯示在pager上面的資訊。在viewrecords屬性被設定為true時有效。只有在總數量大於0的時候才顯示。
這是一個用{n}格式化的顯示字串。其中第一個引數{0}代表記錄的起始位置(grid顯示的第一條記錄在所有記錄中的位置),第二個引數{1}表示grid最後一條記錄在總記錄中的位置,第三個引數{2}代表總的記錄條數。
比如:從{0}到{1}共{2}
預設值:see lang file
該屬性可以修改
- resizeclass
string
為列指定一個調整寬度時候的現實風格class。
預設值:empty string
該屬性不能修改
- rowList
array[]
本引數用來為grid生成一個可供選擇的調整每頁顯示記錄條數的下拉選單。在grid中選擇修改這個值,jqGrid會用新的選擇值來修改rowNum引數並傳遞到伺服器端。可以設定的格式如 [10,20,30]
預設值:empty array - []
該屬性不能修改
- rownumbers
boolean
如果設定為true,則會在grid的左邊增加一列,增加的列用來顯示記錄行數,記錄從1開始顯示。這種情況下,colModel被一個name為rn的列自動擴充套件。由此,我們要注意了,在我們自己定義的列中,不要使用name=’rn’這種名稱。
預設值:false
該屬性不能修改
- rowNum
integer
設定每一個grid的頁做多顯示多少條記錄。
這個引數會通過url引數傳遞到伺服器端進行分頁處理。
注意,如果你設定了頁面最多顯示10條記錄,也就是rowNum=10,但是伺服器端返回了15條記錄,頁面上也只會顯示10條記錄。
設定本值為-1表示頁面顯示記錄沒有限制。
預設值:20
該屬性可以修改
- rownumWidth
integer
如果rownumbers設定為true,本屬性用來設定該列的寬度。
預設值:25
該屬性不能修改
- savedRow
array
只讀屬性。本屬性用在Inline Editing和Cell Editing模式下,用來在編輯行或者單元格之前儲存資料。
預設值:empty array
該屬性不能修改
- scroll
boolean or integer
建立一個動態滾動的grid。如果本屬性可用,pager元素被禁用,改用垂直滾動條來動態載入資料。當設定為true時,grid會在第一次載入的時候,把所有的資料取出到客戶端,當scroll被設定為一個數字,grid將只顯示可見的幾行資料。
請注意,這裡有一個可選的擴充套件引數npage傳遞到伺服器端。如果在prmNames陣列中設定了npage的值,那麼grid將一次請求多頁資料。所以這裡伺服器端的按頁獲取資料的方法需要特別注意處理。
預設值:false
該屬性不能修改
- scrollOffset
integer
設定垂直滾動條寬度。
預設值:18
該屬性不能修改.Method avail.
- scrollrows
boolean
設定為true,當我們用setSelection選中記錄時,grid會自動滾動到選中的行記錄,讓該行記錄可見。假設grid有垂直滾動條,當我們在Form Editing編輯模式下修改記錄,用編輯頁的前後導航按鈕定位記錄的時候,當導航到一個隱藏的行記錄的時候,grid會自動滾動以使讓選中的行記錄變成可見。
預設值:false
該屬性可以修改
- selarrrow
array-[]
只讀屬性。在multiselect=true的情況下,確定當前選中的所有行。陣列中包含的值只是選中列的id,用逗號隔開。比如[1,3,4,5]表示選中了id為1、3、4、5的行。
預設值:empty array []
該屬性不能修改
- selrow
string
只讀屬性。最後選中行的id。如果重新排序或者進行了導航,這個值為null。(也就是沒有選中任何行的意思!)
這個屬性很重要,很多時候,假設我們要對選中的行的資料進行一些處理,那麼就必須要用到這個屬性。大家可以看看jqGrid的Demo中有很多例子都用到這個屬性。
預設值:null
該屬性不能修改
- shrinkToFit
boolean
確定初始化時候每列的寬度的演算法。如果設定為true,表示每列的寬度按照所有列設定的寬度值的和與grid設定的寬度按比例進行縮放。如果設定為false,則列寬按照colModel中設定的寬度顯示。
預設值:true
該屬性不能修改
- sortable
boolean
設定grid是否可以按照列進行排序。這個屬性用到了jQuery UI的sortable外掛。要確保載入了相應的檔案,同時要確保下載jqGrid的時候,包含了grid.jqueryui.js包。
預設值:false
該屬性不能修改
- sortname
string
當使用xml或者json資料型別時,設定預設的排序欄位名稱。這個引數會被增加到url上傳遞到伺服器端。
預設值:empty string
該屬性可以修改
- sortorder
string
當使用xml或者json資料型別時,設定預設的排序方式。可選值asc或desc.
預設值:asc
該屬性可以修改
- subGrid
boolean
設定是否能使用subgrid。
預設值:false
該屬性不能修改
- subGridModel
array-[]
設定subGrid的描述資訊。只在subGrid設定為true才有效。具體可設定的屬性需要參考subGrid的文件。
預設值:empty array
該屬性不能修改
- subGridType
mixed
允許通過一個service來載入subgrid。如果沒有設定,則採用父grid的datatype。
預設值:null
該屬性可以修改
- subGridUrl
string
載入subgrid資料的url,jqGrid會把每行的id值當作引數加到url中。只有在subGrid=true是才有效。如果需要傳遞額外的引數,請使用subGridModel中的params選項。
預設值:empty string
該屬性可以修改
- subGridWidth
integer
設定subGrid列的寬度。
預設值:20
該屬性不能修改
- toolbar
array
Grid的工具欄。陣列中有兩個值,第一值指示toolbar是否可用,第二個值定義了toolbar相對於body Layer的位置,可能的值包括“top”,”bottom”, “both”
當我們設定值為[true,”both”],會建立兩個工具欄,一個在table的頂部,一個在table的底部。
頂部的工具欄的div的id等於”t_”+grid的Id。底部的工具欄的div的id等於”tb_” +grid的Id。 注意:當只建立一個工具欄的時候,不管位置是在頂部還是底部,工具欄的div的id都等於”t_”+grid的Id。
預設值:[false,'']
該屬性不能修改
- totaltime
integer
只讀屬性。計算載入資料的時間。目前只支援載入xml以及json格式資料。從請求完成開始計算時間,到載入完最後一行記錄截至。
預設值:0
該屬性不能修改
- treedatatype
mixed
樹形grid情況下,datatype。通常與grid自身定義的datatype保持一致。很少會改變。
預設值:null
該屬性不能修改
- treeGrid
boolean
開啟或者禁用樹形grid的模式。
預設值:false
該屬性不能修改
- treeGridModel
string
確定treeGrid的方法。可能是nested或 adjacency
預設值:nested
該屬性不能修改
- treeIcons
array
樹形grid使用的圖示。預設值是{plus:'ui-icon-triangle-1-e',minus:'ui-icon-triangle-1-s',leaf:'ui-icon-radio-off'}
預設值:無
該屬性不能修改
- treeReader
array
擴充套件grid的colModel且加在colModel定義的後面這意味著從伺服器返回的資料必須包含這些欄位值。
預設值:無
該屬性不能修改
- tree_root_level
numeric
treeGrid root元素的級別
預設值:0
該屬性不能修改
- url
string
請求的URL地址。
預設值:null
該屬性可以修改
- userData
array
本屬性包含一些從request中獲取的自定義的資訊。比如不想直接顯示在grid中的一些資料。
預設值:empty array
該屬性不能修改
- userDataOnFooter
boolean
如果設定為true,則直接把userData中的資料顯示在grid的頁尾。規則是:如果userData資料包含和colModel中name一樣的名字,那麼userData的值就顯示在該列。否則,什麼都不顯示。
The rules are as follow: If the userData array contain name which is equal to those of colModel then the value is placed in that column.If there are 該屬性不能修改 such values 該屬性不能修改thing is palced.
預設值:false
該屬性可以修改
- viewrecords
boolean
確定是否顯示總的記錄條數。
預設值:false
該屬性不能修改
- viewsortcols
array
本引數主要用來定義出現在標題附近的排序圖示的不同的外觀和行為。
引數陣列的組成如下: [false,'vertical',true]. 第一個引數確定,如果所有的列排序屬性都是true,是否所有的圖示都能同時看到。預設值false表示只有最後排序列的圖示可見。
第二個引數確定圖示的位置。可能的值是vertical 表示排序圖示一個在另一個的上面。'horizontal' 表示水平放置兩個圖示。
第三個引數確定滑鼠點選事件功能。設定為true,表示,表示點選列標題可排序;設定為false表示只能點選圖示才能排序。
重要提示:如果設定第三個引數為false,那麼必須要設定第一個引數為true,否則,排序功能可能丟失。
預設值:無
該屬性不能修改
- width
number
設定grid的寬度。如果本屬性沒有設定,則按照各個列定義在colModel中的寬度總和作為grid的寬度。如果設定了本值,則grid中每一個列的初始寬度按照shrinkToFit引數定義來確定。
預設值:none
該屬性不能修改. Method avail.
- xmlReader
array
對xml的資料格式的說明。參考jsonReader的描述。
預設值:無
該屬性不能修改