jQGrid Pager_left宽度太小,列数很少

时间:2014-09-26 19:03:36

标签: jquery asp.net-mvc-3 jqgrid

我有一个模型,视图和控制器,可以自动将DataTable转换为jQGrid。它按预期工作,除非DataTable只有2列。数据按预期呈现,但无论屏幕或网格大小如何,Pager_Left都被强制为20px的宽度。

我试图通过代码来找到发生这种情况的地方,但无法看到我正在实现的任何地方。

当我单步执行时,它是在这行代码之后:

jQuery("#" + "@Model.GridId").jqGrid('navGrid', '#' + '@Model.PagerId', { edit: false, add: false, del: false, refresh: false }, {}, {}, {}, { multipleSearch: true, multipleGroup: false });

Pager_Left收缩。如果我注释掉代码,它会按预期显示,但我不会在寻呼机中显示自定义按钮。

使用更宽的表格完全相同的代码会产生预期的结果。我认为jQGrid有一些"功能"尝试在没有多列的情况下调整寻呼机,但我不知道如何关闭它。

我可以这样做:

$('#' + '@Model.PagerId' + '_left').css('width', '');

在违规代码之后,它会按预期显示,但我宁愿不通过jQuery调用来删除它后添加样式。

如何关闭"功能",或使用正确的jQGrid设置覆盖它?

1 个答案:

答案 0 :(得分:2)

有两个jqGrid代码的地方,其中一个进行某种"特征检测"。请参阅here(尤其是the line‌​)和here)。因此,结果width将在不需要的情况下设置。

我发现删除width样式的左侧传呼机没有任何副作用。所以我发现它足够好了。