$.jgrid.defaults
中加載。英文版本的屬性默認配置如下。本人下載的jqGrid4.4.0示例中暫時不支持中文語言的語言包,所以要配置為中文語言,只能通過重寫下面表格列出的屬性來實現(xiàn)。語言配置文件在demo目錄js/i18n這個文件夾下,要改為其他語言加載對應的js語言配置文件即可。
下面選項配置表格最后一列是否能改變指的是這個參數(shù)配置在jqGrid創(chuàng)建后是否能修改。
配置項 | 類型 | 描述 | 默認值 | 能否改變 |
---|---|---|---|---|
ajaxGridOptions | object | jqGrid使用ajax請求數(shù)據(jù)時的全局配置。配置了這個對象可能會覆蓋當前的jquery ajax配置,包括error,complete和beforeSend事件 | empty object | Yes |
ajaxSelectOptions | object | 用于配置editoptions 或者searchoptions配置中select對象通過dataUrl動態(tài)獲取用的。 |
empty object | Yes |
altclass | string |
隔行顯示的樣式,只有當altRows參數(shù)設置為true時才起作用 |
ui-priority-secondary | Yes. Requires reload |
altRows | boolean | 是否隔行顯示。說的白一些就是第一行顯示白色背景,第二行藍色背景,依次交替顯示。 | false | Yes. After reload |
autoencode | boolean | 是否編碼服務器返回內(nèi)容或者提交到服務器的內(nèi)容中包含的html代碼,設置為true時,<會被編碼為< | false | Yes |
autowidth | boolean | 設置為true時,將會重新計算表格相對于父元素的寬度。這個步驟只在表格建立是執(zhí)行。如果建立之后表格父元素寬度改變,需要表格自動調(diào)整寬度,可以使用setGridWidth方法來實現(xiàn) |
false | No |
caption | string | 表格的標題,顯示在標題列中。如果配置為空,將不會顯示標題。標題位置查看:jqGrid布局結(jié)構 | empty string | No.Method avail. |
cellLayout | integer | 單元格td(padding+border)寬度。一般不需要配置,但是如果修改過了表格的css文件,那么需要配置這個。初始值為paddingLef(2) + paddingRight (2) + borderLeft (1) = 5 | 5 | No |
cellEdit | boolean | 是否允許編輯單元格,查看jqGrid單元格編輯配置,事件及方法配置獲得更多詳細介紹。 | false | Yes |
cellsubmit | string | 配置單元格內(nèi)容保存位置。可以為remote或者clientArray。查看jqGrid單元格編輯配置,事件及方法配置獲得更多詳細介紹。 | 'remote' | Yes |
cellurl | string | cellsubmit設置為remote時,將會提交修改的數(shù)據(jù)到這個頁面進行保存,如執(zhí)行保存到數(shù)據(jù)庫之類的操作。 查看jqGrid單元格編輯配置,事件及方法配置獲得更多詳細介紹。 | null | Yes |
cmTemplate | object | 這里定義的屬性覆蓋默認的colModel配置值。如默認的colModel配置中列都是可以排序的,配置{sortable:false}后,那么所有的列都不可以排序,除非colModel中配置過sortable為true | null | No |
colModel | array | JSON數(shù)組對象描述列的參數(shù)。對于jqGrid來說很重要,具體配置查看:jqGrid colModel配置參數(shù) | empty array | No |
colNames | array | 定義表頭內(nèi)容顯示的字符串數(shù)組。注意此數(shù)組長度要和colModel配置的數(shù)組長度一致。標題位置查看:jqGrid布局結(jié)構 | empty array[] | No |
data | array | 傳遞給表格作為數(shù)據(jù)源的本地數(shù)組。可以直接指向一個已經(jīng)定義的數(shù)組。 當數(shù)據(jù)量大并且關聯(lián)時這個可以替代addRowData 方法。 |
empty array | Yes |
datastr | string | 當datatype設置為 xmlstring 或者 jsonstring時,對應的xml字符串或者json字符串 | null | Yes |
datatype | string |
定義填充表格的數(shù)據(jù)格式??捎妙愋停?
xml (xml格式的數(shù)據(jù)源),
xmlstring (xml格式的字符串),
json (json格式的數(shù)據(jù)源),
jsonstring (json格式的字符串),
local (客戶端已經(jīng)存在的數(shù)組數(shù)據(jù)), |
xml | Yes |
deepempty | boolean | 當事件或者一個插件作用于單元格時需要設置為true。此配置實用 jQuery empty作用于行和行的子元素.。會有速度開銷,但是可以防止內(nèi)存泄露??膳判虻男谢蛘吡屑せ顣r也需要設置為true。 | false | Yes |
deselectAfterSort | boolean | 僅當datatype為local時適用。執(zhí)行排序時取消選擇已經(jīng)選擇的行 |
true | Yes |
direction | string | 定義表格中的文本方向(dir屬性)。默認為 ltr (左到右)。當設置為rtl (右到左) 將會自動改變文字方向。一個頁面上可能存在2個或者更多的表格,那么可以設置一個方向為ltr而另外一個為rtl。僅在Firefox 3+和ie6+支持。目前的safari,chrome和opera沒有完全支持rtl方向。
默認firefox是不啟用rtl方向的,需要修改firefox的配置文件才行【操作步驟:在地址欄輸入about:config,點擊確認進入配置窗口,在搜索欄輸入layout.scrollbar.side,雙擊此項目,將0修改為1,確定完成firefox rtl方向開啟】。 |
ltr | No |
editurl | string | 定義行編輯或者表單編輯時完成編輯后保存數(shù)據(jù)的動態(tài)頁地址??梢栽O置為客戶端數(shù)組(clientArray )然后手動提交數(shù)據(jù)到服務器。 參考:jqGrid行編輯配置 |
null | Yes |
emptyrecords | string | 當表格沒有數(shù)據(jù)時顯示的提示信息,僅當viewrecords 配置為true時有效。 |
see lang file | Yes |
ExpandColClick | boolean | 設置為true時,當我們點擊展開列任意文本內(nèi)容都會展開或者收縮樹形控件(see treeGrid )),這樣就不一定需要點擊圖標來實現(xiàn)展開收縮。 |
true | No |
ExpandColumn | string | 指定哪列(使用colModel配置的name)用戶放置樹形表格。如果不指定默認第一列。 僅當treeGrid 設置為
true .時可用 |
null | No |
footerrow | boolean | 設置為true將會在表格內(nèi)容和導航之間插入一個包含一行的頁腳表格,此行的列數(shù)和colModel配置的數(shù)量一致。 | false | No |
forceFit | boolean | 設置為true后,一列的寬度會改變,相鄰的列(此列右邊的列))將會重新調(diào)整,這樣整體表格的寬度將維持原來的長度。 (例如,減少第二列的寬度30p那么第三列寬度將會增加30px).,這樣就不會出現(xiàn)水平滾動條。注意:這個配置和shrinkToFit不兼容,如果 shrinkToFit 設置為 false,
forceFit配置將會被忽略。 |
false | No |
gridstate | string | 確定表格狀態(tài)(如當使用hiddengrid,hidegrid和caption配置),有 visible 或者 hidden 兩種狀態(tài)。 |
visible | No |
gridview | boolean | 在之前的版本包括3.4.X,讀取大量關聯(lián)數(shù)據(jù)(數(shù)量>= 100 ) 會產(chǎn)生效率問題。.產(chǎn)生這個問題的原因是每次插入單元格到表格中執(zhí)行了5~6jquery 調(diào)用?,F(xiàn)在問題解決了,我們用jQuery append一次插入整行數(shù)據(jù),速度提升了3~5倍。一次插入所有數(shù)據(jù)會有什么結(jié)果? 設置為true的結(jié)果是速度提示5~10倍。當然,設置為true后,是有一些限制的,將不能使用treeGrid,subGrid和afterInsertRow事件,如果你不使用這3個配置可以設置為true,那么速度會大大提升。 | false | Yes |
grouping | boolean | 啟用表格分組。更多詳情查看: Grouping page. | false | Yes |
headertitles | boolean | 設置為true將會添加到表頭的那title屬性 | false | No |
height | mixed | 表格高度??梢詾閿?shù)字(單位px),百分比(只能設置為100%)或者auto。 | 150 | No.Method avail. |
hiddengrid | boolean | 設置為true初始化時將隱藏起來。數(shù)據(jù)不會加載(不發(fā)送請求),僅標題欄顯示。當顯示/隱藏按鈕第一次被點擊時顯示表格,發(fā)送請求道服務器加載數(shù)據(jù),表格顯示。此配置僅當caption不為空并且hidegrid配置為true時有效。 | false | No |
hidegrid | boolean | 是否啟用show/hide表格按鈕。按鈕顯示在標題欄的最右邊。 (jqGrid布局結(jié)構).。僅當caption屬性不為空時有效。 | true | No |
hoverrows | boolean | 鼠標移動到數(shù)據(jù)行上時是否變換背景色 | true | Yes |
idPrefix | string | 設置了這個配置,將會給每行的id(tr的id)增加此前綴 | empty | Yes |
ignoreCase | boolean | 默認查詢和排序是區(qū)分大小寫的。如果查詢或者排序不區(qū)分大小寫可以設置為true | false | Yes |
inlineData | empty object | 行編輯時提交到服服務器的附加數(shù)據(jù) | {} | Yes |
jsonReader | array | 配置對象描述需要的json數(shù)據(jù)源結(jié)構。更多詳情查看: Retrieving Data JSON Data | No | |
lastpage | integer | 指定請求返回的總頁數(shù)。如果datatype為函數(shù),表格實例對象需要調(diào)用setGridParam({lastpage:數(shù)字}) 來指定最大頁數(shù) | 0 | No |
lastsort | integer | 只讀屬性。存儲最后一次排序的列下標(從0開始) | 0 | No |
loadonce | boolean | 設置為true將會只從服務器獲取一次數(shù)據(jù)。請求完畢后,datatype參數(shù)將會自動變?yōu)閘ocal,之后所有操作將會在客戶端完成。pager配置的方法(如果配置過)將會被禁用。 | false | No |
loadtext | string | 加載數(shù)據(jù)時的等待信息。從語言文件中加載 | Loading… | No |
loadui | string | 這個配置控制ajax請求數(shù)據(jù)過程中要做什么。 disable - 禁用jqGridd進度指示器。這樣你可以使用自己自定義的進度 enable (默認) -在jqGrid中間顯示loadtext配置的信息 block -中間顯示loadtext配置的信息,并且顯示一個半透明遮蓋層遮蓋住整個表格,不允許對表格進行任何操作【如分頁,排序得操作】直到ajax請求完成后會自動隱藏遮蓋層和loadtext信息。 | enable | Yes |
mtype | string | 配置ajax發(fā)送請求的類型(POST或者GET) | GET | Yes |
multikey | string | 此配置僅當multiselect設置 為true時有效果。定義選擇多條記錄時需要按下的按鍵。 可用的值為:shiftKey ,
altKey, ctrlKey |
empty string | Yes |
multiboxonly | boolean | 此配置僅當multiselect設置 為true時有效果。 multiselect為 true,點擊某行的任何地方都可以選擇此行,但是 multiboxonly
設置為 true ,只有勾選checkbox 才會選中行,點擊其他行非checkbox控件將會取消已經(jīng)選擇的行并且選中點擊的行。
譯者注:經(jīng)測試,配置了multikey后,multiboxonly設置為true,當按住配置的multikey可以不必點擊checkbox,點擊行的其他地方也可以選擇點擊的行,并且不會取消已經(jīng)選擇過的行。 |
false | Yes |
multiselect | boolean | 配置為true后可以選擇多行數(shù)據(jù),并且每行最左邊新增一列顯示checkbox 。 |
false | No |
multiselectWidth | integer | 定義多選checkbox列的寬度,multiselect為true時有效 | 20 | No |
multiSort | boolean | 僅當datatype為local時有效,是否允許多重排序。sidx包含發(fā)送給服務器端排序的內(nèi)容。.排序的字段 用逗號分隔,如“field1 asc, field2 desc …, fieldN”。注意最后的字段不包含asc 或者desc。設置為ture時通過sord參數(shù)獲取 | false | Yes |
page | integer | 發(fā)送請求的初始化頁數(shù),發(fā)到到服務器以便檢索返回數(shù)據(jù)使用 | 1 | Yes |
pager | mixed | 定義導航條顯示容器。為一個有效的HTML元素,元素的id,或者元素jquery的id選擇器,jQuery包轉(zhuǎn)后的對象,如pager ,
#pager , jQuery('#pager'),建議傳遞 #pager。 See
Pager |
empty string. |
No |
pagerpos | string |
定義導航內(nèi)容所在位置。默認導航容器被分為3個部分,操作按鈕,導航信息,記錄信息,如下圖??捎弥担簂eft,center,right ![]() |
center | No |
pgbuttons | boolean | 定義上一頁,下一頁4個如上圖所示的箭頭導航按鈕是否顯示。僅當pager配置設置對時可用。 | true | No |
pginput | boolean | 定義上圖的“Page輸入框 Of”是否顯示 | true | No |
pgtext | string | 配置當前頁信息,格式如“Page {0} of {1}” 第一個參數(shù)為當前頁,第二個為總頁數(shù) | See lang file | Yes |
prmNames | array |
默認值為:{page:"page",rows:"rows", sort:"sidx", order:"sord", search:"_search", nd:"nd", id:"id", oper:"oper", editoper:"edit", addoper:"add", deloper:"del", subgridid:"id", npage:null, totalrows:"totalrows"} ,post提交到服務器。 例如,使用這個配置可以改變排序字段鍵名稱從sidx修改為mysort.
|
none | Yes |
postData | array | 此配置將直接附加到url后面作為參數(shù)。格式為JSON對象,如 {name1:value1…} |
empty array | Yes |
reccount | integer | 只讀屬性。只是表格中顯示的實際行數(shù)。不要和records弄混淆了,盡管一些情況下他們是一致的,但是有些情況下不是。例如,
rowNum 設置為15,但是服務器返回了20條記錄,records為20,但是reccount為15(表格只顯示15條記錄而不是20條) |
0 | No |
recordpos | string | 定義記錄信息的文字的位置。如上圖所示的“View 1-4 of 8”。可用值:left ,
center , right . |
right | No |
records | integer | 只讀屬性。指示服務器實際返回的數(shù)據(jù)量 | none | No |
recordtext | string | 導航條記錄信息內(nèi)容。總記錄數(shù)大于0并且 viewrecords 設置為true才會顯示。
格式如:View {0} - {1} of {2}。 {0} - 顯示第一條數(shù)據(jù)記錄號 {1} - 顯示最后一條數(shù)據(jù)記錄號 {2} - 服務器返回的總記錄 |
see lang file | Yes |
resizeclass | string | 附加一個樣式給列,這樣只有附加了這個樣式的列才可以改變 | empty string | No |
rowList | array[] | select下拉導航可用的值,數(shù)字數(shù)組,如 [10,20,30] |
empty arrray | No |
rownumbers | boolean | 設置為true將在表格左邊新增一列,顯示行號,從1開始。設置為true后colModel將會自動增加一個name為rn的新元素,所以配置colModel時不要配置某列name值為rn。 | false | No |
rowNum | integer | 設置表格要顯示多少條記錄。此參數(shù)將會傳遞到服務器以便獲取檢索返回需要的數(shù)據(jù)。注意:如果設置為10,但是服務器返回15條記錄,那么只有10條記錄被加載到表格中 | 20 | Yes |
rowTotal | integer | 設置這個參數(shù)提供給服務器需要加載多少條數(shù)據(jù)。注意rowNum指示多少條記錄顯示在表格內(nèi),而 rowTotal指示我們可以操作的總記錄數(shù)。設置這個值后一個附加的參數(shù)totalrows將會發(fā)送到服務器。服務器端可以檢查這個值是否可用,以便使用這個值替換掉rows參數(shù) 。通通常這個參數(shù)可以聯(lián)合loadonce被設置為true。 |
null | Yes |
rownumWidth | integer | 設置行號的寬度,僅當rownumbers設置為true | 25 | No |
savedRow | array | 只讀屬性,用于存儲在行和單元格被編輯之前的原始數(shù)據(jù)。 查看:jqGrid單元格編輯配置,事件及方法 ,jqGrid行編輯配置 | empty array | No |
scroll | boolean or integer | 創(chuàng)建動態(tài)滾動表格。配置了此項后導航容器被禁用,可以通過水平滾動條來加載數(shù)據(jù)。 設為true表格將保留所有項目從開始的到最近訪問的。設置為數(shù)字(如1),表格僅保留可見的行。這樣我們只加載部分數(shù)據(jù)而不用擔心內(nèi)存泄露。附加的參數(shù)npage將會發(fā)往服務器,如果設置了npage,表格有些時候會后會請求超過1頁以上的數(shù)據(jù)。如果沒配置npage,將會發(fā)送多個get請求。 | false | No |
scrollOffset | integer | 設置垂直滾動條的寬度。不同的瀏覽器垂直滾動條寬度不一樣(很難在所有瀏覽器下計算),可變的。 | 18 | No.Method avail. |
scrollTimeout | integer (milliseconds) | 控制滾動事件延時時間當scroll配置為1。 | 200 | Yes |
scrollrows | boolean | 設置為true時,通過setSelection選中某行將會滾動表格使選中的行可見。表格有水平滾動條,當使用表格編輯,通過上一條或者嚇一跳導航按鈕導向時將會很有用。 | false | Yes |
selarrrow | array | 只讀屬性,存儲當前選中的行。為一維數(shù)組,存儲選中的行的id。 | empty array [] | No |
selrow | string | 只讀屬性,包含最后一次選中的行的id。如果排序或者分頁過,將會設置為null | null | No |
shrinkToFit | boolean or integer | 設置了此配置,將會參考每列配置的列寬,對列寬進行重新計算。 1)設置為true,列的寬度也設置過,將會依據(jù)配置的列寬進行縮放。如我們定義2列寬度分別為80和120px,但是表格寬度為300px,那么列寬將會變寬以便填充整個表格,增加的額外寬度依據(jù)他們的配置的寬度來計算,計算方法如下 第一列實際寬度為:(300/(80+120)(原來配置列寬總和))*80(第一列的寬度) = 120 第二列實際寬度為:(300/(80+120)(原來配置列寬總和))*120(s第二列的寬度) = 180 新的列寬總和為300px,和表格總寬度一樣。 2)如果設置為false并且配置jqGrid的width參數(shù),列寬將不會改變,如1)的例子,列一寬度為80,列二維120,表格總寬度300保持不變。 3)設置為一個數(shù)字,列寬將會依據(jù)此數(shù)字重新計算。(the width is calculated according to it. - The effect of using an integer can be elaborated.) | true | No |
sortable | boolean | 設置為true,允許通過鼠標拖拽重新對列進行排序。這個選項依賴 jQuery UI sortable部件,所以需要在head標簽內(nèi)容加載sortable部件。所以下載jqGrid時需要選擇jQuery UI擴展選項如果你需要此功能。注意:
colModel配置中也有一個配置為sortable,這個指示此列是否允許點擊列表頭進行排序。 |
false | No |
sortname | string | 當加載服務器xml或者json數(shù)據(jù)需要依據(jù)那列進行排序,此配置作為參數(shù)附加到url中。設置了這個值并且和colModel配置的index一致,對應的列表頭將會增加一個圖標指示表格已經(jīng)通過此列排序過。此圖標也指示了是那種排序,升序或者降序,參考sortorder對象。 | empty string | Yes |
sortorder | string | 從服務器獲取xml或者json數(shù)據(jù)的初始化排序方向(降序或者升序)。附加到url參數(shù)中,可選值:asc 或者 desc . |
asc | Yes |
subGrid | boolean | 是否啟用subGrid。設置為true,在表格左邊會增加一列。這列包含一個+號圖片,用戶可以點擊這個圖片展開這行,默認所有行是收縮的。 詳細查看: Subgrid | false | No |
subGridOptions | object | subGrid相關配置,詳細查看:Subgrid. | see Subgrid | Yes |
subGridModel | array-[] | 描述subGrid的colModel模型,僅當subGrid設置為true有效。 詳細查看:
Subgrid |
empty array | No |
subGridType | mixed | subGrid數(shù)據(jù)源類型,如果沒有設置,將啟用父表格配置datatype | null | Yes |
subGridUrl | string | subGrid設置為 true時有效。配置subgrid從哪個頁面加載數(shù)據(jù)。 jqGrid會將此行的id作為參數(shù)附加到url上。如果需要附加額外參數(shù),配置subGridModel中的params選項。 詳細查看:
Subgrid |
empty string | Yes |
subGridWidth | integer | subGrid設置為 true時有效,定義subGrid的寬度。 |
20 | No |
toolbar | array |
定義表格工具欄。為2個值的數(shù)組。第一個值定義是否啟用工具欄,第二個值定義工具欄相對于表格內(nèi)容的位置,可用值有:t |
[false, ''] | No |
toppager | boolean | 設置為true,導航條將放置在表格頂部,標題欄下(如果存在)。如果定義了pager, 2個都會顯示并且內(nèi)容同步更新。此導航條id為選擇器id(不包含#)_toppager | false | No |
totaltime | integer | 只讀屬性,指示記錄加載的時間。加載xml或者json數(shù)據(jù)時可用。計算方式為請求結(jié)束到最后一行數(shù)據(jù)添加到表格。 | 0 | No |
treedatatype | mixed | 樹形表格數(shù)據(jù)源類型,詳細參考 datatype。通常不需要修改這個。在處理過程中這個等介于datatype |
null | No |
treeGrid | boolean | 允許treegrid數(shù)據(jù)格式,詳細查看: Tree Grid | false | No |
treeGridModel | string | 指定treeGrid的方法,可用值有:nested或者 adjacency . 詳細查看:
Tree Grid |
nested | No |
treeIcons | array | 此對象指定treegrid使用的圖標。圖標名稱需要是UI主題中定義過的。默認值為 {plus:'ui-icon-triangle-1-e',minus:'ui-icon-triangle-1-s',leaf:'ui-icon-radio-off'} |
No | |
treeReader | array |
擴展grid配置中的 |
No | |
tree_root_level | numeric | 當treeGrid為true時指定根元素從哪層開始。 | 0 | No |
url | string | jqGrid數(shù)據(jù)源url地址??梢栽O置為clientArray (客戶端數(shù)據(jù))手動發(fā)送數(shù)據(jù)到服務器。 參考:jqGrid行編輯配置 |
null | Yes |
userData | array | 保存請求的自定義信息,以便隨時使用 | empty array | No |
userDataOnFooter | boolean | 設置為true,將直接放置userData數(shù)據(jù)到頁腳。規(guī)則如下 如果userData中包含的name和colModel中配置的任何一個name一致,數(shù)據(jù)將會顯示在此列中。 如果不包含任何值將不會放置。 | false | Yes |
viewrecords | boolean | 是否在導航條顯示顯示recordtext/emptyrecords 配置的信息。 |
false | No |
viewsortcols | array | 定義表頭排序圖標的外觀和行為(up/down箭頭),默認值為 viewsortcols : [false,'vertical',true] . 1)第一個值定義排序圖標是否在在所有可排序的列的表頭中顯示,設置為true可以讓用戶知道此列可以進行排序,默認值為false,只有當此列表頭為最后一次排序時被點擊才會顯示.圖標。設置為true所有可排序的列表頭都會顯示圖標 2)第二個定義圖標的位置。vertical為垂直放置 horizontal:水平放置![]() |
[false,'vertical',true] | No |
width | number | 表格寬度。未設置那么長度為colModel配置的所有列總和.設置了這個值,colModel配置的實際寬度將依據(jù)shrinkToFit 配置和配置的初始化寬度值。 |
none | No. Method avail. |
xmlReader | array | 配置對象描述需要的xml數(shù)據(jù)結(jié)構。詳細參考:jqGrid XML數(shù)據(jù)源讀取器選項配置 | No |
如果你希望修改一些默認值并且作為表格的通用對象,可以使用jQuery的extend方法擴展默認配置。
假設你希望表格如斑馬線(隔行換色)一樣,并且所有的表格都有這個效果而不用每次都需要配置altRows屬性,下面為一個示例擴展默認的jqGrid配置altRows來實現(xiàn)。
你可以修改更多的默認配置。
在上個示例中,提到了如何將修改默認屬性作用于所有的表格。某些情況下你可以單獨配置jqGrid的某些項目覆蓋全局的設置。
如下,全部配置altRows被設置為true,如果不希望隔行換色,可以另外配置altRows:false覆蓋全局的配置。