我有一个模型,视图和控制器,可以自动将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
设置覆盖它?
答案 0 :(得分:2)
有两个jqGrid代码的地方,其中一个进行某种"特征检测"。请参阅here(尤其是the line)和here)。因此,结果width
将在不需要的情况下设置。
我发现删除width
样式的左侧传呼机没有任何副作用。所以我发现它足够好了。