1. 總論 jqGrid是一個非常好用,免費的Grid組件,主要的文檔是這里,第一個鏈接是Demo,第二個是Wiki的文檔 http://www./blog/jqgrid/jqgrid.html http://www./jqgridwiki/doku.php 2. 基本功能 jqGrid主要的功能都在js文件中,在網(wǎng)頁中很簡單就是一個Table,一個Div <table id="maingrid" cellpadding="0" cellspacing="0"></table> 比較典型的一個例子 jQuery().ready(function (){ var parameterValue= $("#parameterValue" ).val();
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], } 注意要在網(wǎng)頁中包括i18n目錄下的語言文件,以及下載Jquery UI的css和圖形文件。 jqGrid比較常用的幾個如下 A. url 給定一個url,用來取得數(shù)據(jù)。url的參數(shù)可以在前面的語句中準備好,這樣就可以用Ajax到后端取得數(shù)據(jù)了。 B. datatype 從url返回的數(shù)據(jù)類型,這里是Json,在C#中返回Json可以用Controller中的Json方法。 C. height/width Grid的大小信息 D. ColNames 就是每個Column的Title Text E. ColModel就是每個Column的屬性,這個很重要 (1) name: 就是json數(shù)據(jù)中對應的變量名 (2)index: 也是json數(shù)據(jù)中的變量名,用來排序的。大多數(shù)時候都等于name (3) width: 列寬度 (4)align: 對齊 (5)sortable: 是否可以用此排序 (6)editable: 是否可以用此編輯 (7)edittype: 如何進行編輯??梢允莟extbox, select, checkbox (8)editoption: 編輯的選項 編輯的幾個例子 editable: true, edittype: "select", editoptions: { dataUrl: appDomain +'/Fund/GetAllFundCode/'} editable: true, edittype: "checkbox", editoptions: { value: "True:False" } editable: true, edittype: "textarea", editoptions: { rows: "2", cols: "30"} editrules: { number: true }
(9) search 是否可以進行search,缺省值是true (10) searchoptions 就是等于,大于這些選項 Search例子: search:false search:true, searchoptions: { sopt: ['bw', 'bn', 'ew', 'en', 'cn', 'nc', 'eq', 'ne']} search:true,searchoptions: { sopt: ['eq', 'ne', 'lt', 'le', 'gt', 'ge']} (11)formatter 格式化輸出,有幾個選項,也可以跟函數(shù)名 (12) formatoptions : 格式的選項 例子: formatter: 'currency', formatoptions: { decimalSeparator: ",", thousandsSeparator: ",", decimalPlaces: 2, prefix: "$ " }, formatter: myFormatter //如果是函數(shù)名,函數(shù)的定義是這樣的,返回值就是顯示的東西 function myFormatter(cellvalue, options, rowObject) { F. rowNum 每頁顯示的Record數(shù)量 G. rowList 在底下有個Select,可以讓用戶設定每頁Record數(shù)量 H。autowidth 寬度設定 I.sortname/ sortorder 缺省的排序列和排序方式 J. caption Grid的title名字 K. pager 在哪里顯示pager L. navGrid 設置nav的參數(shù) 例子: navGrid('#detailGridp', { edit: true, add: true, del: true, search: false }, 3. 其他 jqGrid 可以和Fiddler同時使用,用后者觀察返回值,便于編寫后臺的C#代碼。 A. 把子表的某個列和加起來 function updateSum(gridName, colIndex, controlName) { B. 在Edit Panel 顯示datepicker editoptions: { C. 添加自定義按鈕 .navGrid('#detailGridp', { edit: false, add: false, del: false, search: false }, 注意一點是ICON的名字,分別是plus, pencil和trash,不是add, delete等。 比較高級一點的做法是給個Id,然后在LoadComplete的時候,對這個Id,改innerHtml屬性,這樣就靈活多了。 ICON是Jquery UI的標準名字,可以在這個鏈接中查看 http://jquery-ui./svn/tags/1.6rc5/tests/static/icons.html D. 改變編輯窗口和中間控件的大小 在官網(wǎng)上給的例子不對,這個要在Add Option那個括號里邊改。 在navGrid語句中,最后有三個大括號,里邊分別是Add/Update/Delete的Url什么的。Form的Size也在這里設置,改一個就都同時變化。 大體是這樣的,注意黑字部分 {savekey: [true, 13], .....} 里邊的控件如果是TextBox,我發(fā)現(xiàn)很難改,也許在花一點時間就能找到更好的做法?,F(xiàn)在的辦法是變成TestArea,然后做成一行,設定列的數(shù)量就可以調(diào)整大小了。 editable: true, edittype: "textarea", editoptions: { rows: "1", cols: "75"} E. 改變Url,并刷新 jQuery("#grid" ).setGridParam({ url: newUrl }) .trigger("reloadGrid " ); |
|
來自: cynial > 《javascript》