jqGrid — изменение ширины столбца после построения таблицы
Штатно существующий в jqGrid метод setColProp,
1 |
$("#list2").jqGrid('setColProp','mobile',{width:1111}); |
не работает после построения таблицы. Одним из выходов может быть написание расширения:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
$.jgrid.extend({ setColWidth: function (iCol, newWidth, adjustGridWidth) { return this.each(function () { var $self = $(this), grid = this.grid, p = this.p, colName, colModel = p.colModel, i, nCol; if (typeof iCol === "string") { colName = iCol; for (i = 0, nCol = colModel.length; i < nCol; i++) { if (colModel[i].name === colName) { iCol = i; break; } } if (i >= nCol) { return; } } else if (typeof iCol !== "number") { return; } grid.resizing = { idx: iCol }; grid.headers[iCol].newWidth = newWidth; grid.newWidth = p.tblwidth + newWidth - grid.headers[iCol].width; grid.dragEnd(); if (adjustGridWidth !== false) { $self.jqGrid("setGridWidth", grid.newWidth, false); } }); } }); |
Тогда изменение ширины столбца сведется к виду:
1 |
$("#list2").setColWidth("mobile", 100); |