最近使用了JqGrid表格,但是在設置水平滾動條時,一直沒有效果,列也沒有顯示全。效果如下所示:
解決這個問題的方法:
如代碼塊中所示,必須要像下面一樣設置下面的三個屬性,shrinkToFit一定是false,默認是 true 的,也需要 autowidth 爲 true
// 自定義列寬 必須屬性
shrinkToFit: false,
// 設置水平滾動條
autoScroll : true,
// 自適應寬度
autowidth:true,
要是還不顯示就強行設置,在 loadComplete 事件和 gridComplete 事件中都強行設置
$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "scroll" });
具體的代碼請查看下面的代碼塊,爲了方面閱讀代碼塊,代碼塊中只保留了部分屬性和事件,方便查看上面的紅色字體是在哪個地方的。
$("#jqGrid").jqGrid({
url: baseURL + 'XXXXX',
datatype: "json",
postData: {"project":option, "testDate":testDate, "station": stationVal},
colModel: [
{ label: "主鍵", name: "id", hidden: true,formatter:"integer", formatoptions: { defaultValue: '0' } , key: true},
{ label: '時間', name: 'testDate', hidden: true}
],
// 表格名稱
caption : "明細",
// 加載完成後事件
loadComplete:function () {
// 水平滾動條
$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "scroll" });
// 垂直滾動條
$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-y" : "scroll" });
},
// 自定義列寬 必須屬性
shrinkToFit: false,
// 設置水平滾動條
autoScroll : true,
// 自適應寬度
autowidth:true,
height: 385,
viewrecords: true,
width:"100%",
rowNum: 10,
rowList : [10,26,50],
rownumbers: true,
rownumWidth: 25,
multiselect: true,
gridComplete:function(){
// X 軸和 Y 軸的滾動條 隱藏 $("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "hidden" });
$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "scroll" });
// $("#jqGrid").closest(".ui-jqgrid-bdiv").css({ 'overflow-y' : 'scroll' });
}
}).trigger("reloadGrid");
然後應該能出來,反正我這是出來了,至於爲什麼,我是一點兒都不清楚。
希望這個東西對你們有幫助