首先,我觉得你的问题很有趣,所以我+1。
您发布的图片中的一件事不是您问题的直接部分,这让我有点奇怪:“列选择器”对话框在对话框的右下角没有可调整大小的部分。它可能是您使用的一些附加设置。我个人觉得让对话框调整大小会更好。
现在回到你的主要问题。要更改默认文本“选定的项目”、“全部添加”和“全部删除”,您可以使用以下代码:
$.extend($.ui.multiselect, {
locale: {
addAll: 'Make all visible',
removeAll: 'Hidde All',
itemsCount: 'Avlialble Columns'
}
});
此外,您可以考虑更改“列选择器”对话框的宽度以及左右面板之间的比例
$.extend(true, $.jgrid.col, {
width: 500,
msel_opts: {dividerLocation: 0.5}
});
或在调用中设置相同的参数columnChooser
:
$grid.jqGrid('navButtonAdd', '#pager', {
caption: "",
buttonicon: "ui-icon-calculator",
title: "Choose columns",
onClickButton: function () {
$(this).jqGrid('columnChooser',
{width: 500, msel_opts: {dividerLocation: 0.5}});
}
});
结果你会得到这样的对话框

看演示。
如果您不打算使用它,您还可以考虑禁用列选择器的可搜索字段。它将保存对话框中的宽度:
$.extend(true, $.ui.multiselect, {
defaults: {
searchable: false
},
locale: {
addAll: 'Make all visible',
removeAll: 'Hidde All',
itemsCount: 'Avlialble Columns'
}
});
更新:如果您需要在“列选择器”对话框中进行一些额外的自定义,您可以在创建对话框后手动进行更改。例如代码的结果
$(this).jqGrid('columnChooser',
{width: 550, msel_opts: {dividerLocation: 0.5}});
$("#colchooser_" + $.jgrid.jqID(this.id) + ' div.available>div.actions')
.prepend('<label style="float:left;position:relative;margin-left:0.6em;top:0.6em">Search:</label>');
将如下:

在此处查看相应的演示。