内容に応じてグリッドの列を調整する方法を見つけようとしています。これは、特定の列の場合のみです。これまでに行ったことは、行をループしてコンテンツの長さを比較することにより、colModel を調整することです。
コンテンツが以前の既知の長さを超える場合、colModel が再度調整されます。こんな感じです。
// Get rowId's and get find the longest content
$.each(grid.jqGrid('getDataIDs'), function(row, rowid) {
// Loop through the specified columns
$.each(abo_fields, function(colid, column) {
var abo = grid.jqGrid('getCell', rowid, column);
var new_width = abo.length * 8;
var current = grid.jqGrid('getColProp', column);
if(current['width'] < new_width) {
grid.jqGrid('setColProp', column, {width:new_width});
}
});
});
getColProp を要求すると、colModel が調整されます。grid.trigger('reloadGrid'); を使用すると 列は、元の colModel で指定されたものと同じままのようです。jquery で CSS の調整も試みましたが、うまくいきませんでした。
どんな助けでも大歓迎です。