我使用SmartAdmin jqgrid显示表格格式数据。每次数据表的列数动态变化。我正在将DataTable转换为json对象并将其分配给jqgrid。似乎jqgrid在内部为每列设置了相等的宽度。当我从jqgrid隐藏列时,它将隐藏该列,但它在我的页面中显示该空间。我希望jqgrid将宽度划分为所有可见列。
这是我的代码片段:
<table id="jqgrid" style="width:100%"></table>
<div id="pjqgrid"></div>
jqgrid初始化:
jQuery("#jqgrid").jqGrid({
data: <% = GetJasonData %>,
datatype: "local",
height: 'auto',
colNames: jsonColname,
colModel: <% = GetJsonColModel %>,
rowNum: 2,
rowList: [10, 20, 30],
pager: '#pjqgrid',
sortname: 'Name',
toolbarfilter: true,
viewrecords: true,
sortorder: "asc",
caption: "All Entries ",
multiselect: true,
shrinkToFit: true,
autowidth: true
});
jQuery("#jqgrid").jqGrid('navGrid', "#pjqgrid", {
edit: false,
add: false,
del: true
});
jQuery("#jqgrid").jqGrid('inlineNav', "#pjqgrid");
/* Add tooltips */
$('.navtable .ui-pg-button').tooltip({
container: 'body'
});
jQuery("#m1").click(function () {
var s;
s = jQuery("#jqgrid").jqGrid('getGridParam', 'selarrrow');
alert(s);
});
jQuery("#m1s").click(function () {
jQuery("#jqgrid").jqGrid('setSelection', "13");
});
$('#jqgrid').hideCol('EFORMINSTANCEID');
//// remove classes
//$(".ui-jqgrid").removeClass("ui-widget ui-widget-content");
$(".ui-jqgrid-view").children().removeClass("ui-widget-header ui-state-default");
$(".ui-jqgrid-labels, .ui-search-toolbar").children().removeClass("ui-state-default ui-th-column ui-th-ltr");
//$(".ui-jqgrid-pager").removeClass("ui-state-default");
//$(".ui-jqgrid").removeClass("ui-widget-content");
// add classes
$(".ui-jqgrid-htable").addClass("table table-bordered table-hover");
$(".ui-jqgrid-btable").addClass("table table-bordered table-striped");
})
$(window).on('resize.jqGrid', function () {
$("#jqgrid").jqGrid('setGridWidth', $("#content").width());
})
GetJasonData和GetJsonColModel持有json对象。
提前致谢。快速反应非常明显。
答案 0 :(得分:-2)
试试这个
<table id="jqgrid" style="width:1250px;"></table>