jqGrid Column Chooser对话框可调整大小,但在调整大小时,内部内容不会在调整大小时拉伸

时间:2012-01-24 20:04:17

标签: jquery-ui jquery-plugins jqgrid multi-select

我正在使用jqGrid和ui.multiselect.js进行列选择和重新排序。出现的对话框可调整大小,但调整大小后,对话框的内容不会调整大小。 你必须勾住任何事件吗?

1 个答案:

答案 0 :(得分:1)

你是对的。目前,这是列选择器中的一个问题。

最好在columnChooser方法的代码中进行一些修复。在创建对话框之后,通过在“列选择器”对话框中进行一些更改,可以通过调整大小来改善情况。例如,使用以下代码

$(this).jqGrid('columnChooser',
    {width: 550, msel_opts: {dividerLocation: 0.5}});
var columnChooser = $("#colchooser_" + $.jgrid.jqID(this.id));
columnChooser.css('min-width', columnChooser.width() + 'px');
var dialog = columnChooser.closest('div.ui-dialog');
columnChooser.closest('div.ui-dialog').css('min-width', dialog.width() + 'px');

var div = columnChooser.children('div:has(div.ui-multiselect)');
div.css('width', '100%');

var uiMultiselect = div.children('div.ui-multiselect');
uiMultiselect.css('width', '100%');
uiMultiselect.children('div.available').css({width: '49.9%'});
uiMultiselect.children('div.selected').css('width', '49.9%');

水平调整大小会有相当不错的结果(参见the demo)。在这种方式中你可以解决或至少改善调整大小的结果。

更新:我发布了here个建议,以使columnChooser真正可调整大小。您可以在the demo上看到结果。