自定義jqgrid的一些小技巧(二)

2021-08-18 03:25:19 字數 1848 閱讀 7829

1.jqgrid動態顯示隱藏某一列。例如我們不想要那個方框列,用來勾選的多選框列,而想新增乙個序號列,從1到n的自增列,那麼就可以這樣做:

jquery(user_selector).setgridparam().hidecol("cb").trigger("reloadgrid"); //隱藏
jquery("#grid_id").setgridparam().showcol("cb").trigger("reloadgrid");//顯示
其中hidecol和showcol方法的引數是列名,對於資料填充列,就是你後台傳過來的實體的字段,對於多選框這種系統列隱藏列就要通過瀏覽器控制台來找,經過查詢發現多選框列的列名字段為「cb」,即checkbox的縮寫,相應的序號列的列名字段為「rn",你可以開啟瀏覽器控制台把每一列都試試。

rownumbers:true,// 

顯示序列號

此時序號列是可以正常顯示了,但是序號列的表頭沒有標題」序號「兩個字,而是空的,看上去不舒服,那麼下乙個小技巧就是為任意列設定標籤。

3.為序號列設定標籤:

// 

為序號列新增標題

jquery(user_selector).jqgrid('setlabel','rn','序號', ,'');

顯示效果:

有乙個問題是雖然序號列新增了「序號」兩字,但是跟其他列不對齊,其他列都是垂直居中,但是剛設定的序號兩字是底端對齊的,通過上面的setlabel方法設定樣式不生效,那就要通過瀏覽器控制台找到這個元素的屬性來自定義設定:

// 

讓序列號標籤文字垂直居中

$("#jqgh_grid-table-user_rn").css("padding-bottom","75%");

經過檢視發現序號列標籤元素為如上所示的,我這裡設定的樣式不一定適合你,關鍵是要找對元素,自己調樣式

4.不想要滾動條上面的列寬,例如想去掉下面紅框所示滾動條上面的寬度

解決方法:jqgrid有乙個屬性設定列寬為零

scrolloffset: 0, // 

滾動條寬度

不過你要注意了,如果你的jqgrid存在水平滾動條,那麼設定這個屬性不會生效,所以必須先去掉水平滾動條:

$("#grid-table").closest(".ui-jqgrid-bdiv").css();// 隱藏水平滾動條
另外隱藏垂直滾動條也一樣:

$("#grid-table").closest(".ui-jqgrid-hdiv").css();// 隱藏垂直滾動條

jqGrid 自定義搜尋

jquery mysearch filtergrid grid id options options 引數 引數描述 預設值gridmodel 當為ture我們會使用colmodel中的屬性構造查詢條件,所用到的引數 name,index,edittype,editoptions,search.還有...

jqgrid編輯以及自定義

jqgrid可以有三種方式,讓我們來修改顯示在jqgrid中的資料。這三種方式分別是 cell editing 只允許修改某乙個單元格內容.所有均來自jqgrid的wiki或者jqgrid的demo截圖 inline editing 允許在jqgrid中直接修改某一行的資料 form editing...

結構體定義一些小技巧

include using namespace std pragma pack 1 struct a struct b int main 執行結果 這個主要是由於位元組對齊所引起的 結構體預設的位元組對齊一般滿足三個準則 1 結構體變數的首位址能夠被其最寬基本型別成員的大小所整除。2 結構體每個成員...