Я использую jqGrid для отображения данных. Я использую hidecol / showcol, чтобы скрыть / показать столбцы в jqGrid. ShrinkToFit это правда.
Сначала я прячу столбец, используя hideCol. Когда пользователь выбирает один вариант, я отображаю скрытый столбец, используя метод showCol. Проблема в том, что каждый раз, когда я вызываю showCol, он уменьшает ширину этого столбца.
Пример кода:
var mydata = [{name1:"abcdef",name2:"abcdef",name3:"abcdef"},
{name1:"abcdef",name2:"abcdef",name3:"abcdef"},
{name1:"abcdef",name2:"abcdef",name3:"abcdef"},
{name1:"abcdef",name2:"abcdef",name3:"abcdef"},
{name1:"abcdef",name2:"abcdef",name3:"abcdef"},
{name1:"abcdef",name2:"abcdef",name3:"abcdef"}];
jQuery("#list2").jqGrid({ data: mydata,
datatype: 'local',
height: 300,
rowNum: 30,
rowList: [10,20,30],
colNames:['Name1','Name2', 'Name3'],
colModel:[ {name:'name1',index:'name1', width:250},
{name:'name2',index:'name2', width:225},
{name:'name3',index:'name3', width:250}],
pager: '#pager2',
viewrecords: true,
sortorder: "desc",
hidegrid: false
}).navGrid('#pager2',{edit:false,add:false,del:false,search:true},
{},{},{},{});}
jQuery("#list2").jqGrid().showCol("name1"); //show col
jQuery("#list2").jqGrid().hideCol("name1"); //hide col