Jquery Jqgrid列标题和数据未对齐

Jquery Jqgrid列标题和数据未对齐,jquery,jqgrid,Jquery,Jqgrid,我有一个表,它是动态的,是在C#中的代码后面生成的。我使用tabletogrid将这个html表转换为Jqgrid,我使用的代码是 tableToGrid('#gvSearchDocuments', { height: 'auto', autowidth:true, multiselect: true, pager

我有一个表,它是动态的,是在C#中的代码后面生成的。我使用tabletogrid将这个html表转换为Jqgrid,我使用的代码是

tableToGrid('#gvSearchDocuments',
                    { height: 'auto',
                        autowidth:true,
                        multiselect: true,
                        pager: 'pagersearch',
                        rowList: [20, 30, 50],
                        colNames: ['ID','Message Date', 'Fund', 'Partner', 'Menu', 'Sub Menu', 'Document Name', 'Document Description', 'Type'],
                        colModel: [
                            { name: 'ID', hidden: true},
                            { name: 'MessageDate',
                            align: 'right',
                            sorttype: 'date',
                            formatter: 'date',
                            formatoptions: { newformat: 'M-d-Y' }
                                    },
                                    { name: 'Fund', align: 'left'},
                                    { name: 'Partner', align: 'left' },
                                    { name: 'Menu', align: 'left'},
                                    { name: 'SubMenu', align: 'left'},
                                    { name: 'Documentname', align: 'left' },
                                    { name: 'DocumentDescription', align: 'left'},
                                    { name: 'Type', align: 'left' }

                                   ]
                    });
我遇到的问题是,生成jqgrid时,列标题和数据没有正确对齐。我尝试使用autoWidth、width和shrinkToFit,但没有成功。这就是我的网格在IE、Firefox和Chrome中的显示方式


我花了一天多的时间在这件事上,它慢慢地折磨着我。任何帮助都会很好

我终于解决了这个问题

在使用
display:none调用
tableToGrid
之前,我错误地隐藏了普通HTML表转换后用
显示:块显示
显示:块被数据单元继承,对它们产生负面影响。在调整标题大小时,它们的大小被阻止(一旦达到显示整个单元格内容所需的最小宽度,它们就停止调整大小)

请参见此以重现问题。 如果注释掉脚本中的最后一行,问题就会消失


顺便说一句,我知道
tableToGrid
不是很好(在性能方面很糟糕),但在我的应用程序中的特殊情况下,我可以使用的唯一方法是不需要大量重写遗留代码。

尝试将此属性应用到表中

table-layout: fixed;
这对我有用。我希望这可能对您有所帮助。

使用编辑css

.ui-jqgrid tr.jqgrow td{
         white-space: normal;
      }

我不建议您使用
tableToGrid
。你应该直接创建jqGrid。你能用页面中的实际html设置一个JSFIDLE,这样我们就可以看到它工作了吗?你可以将所有列的格式,除了
MessageDate
设置为
align:“left”
。我遗漏了什么吗?如果没有包含输入数据的HTML表,就无法重现问题。另外,我同意前面的评论(@Tommi)。可以从所有列中删除
align:'left'
属性,因为
'left'
align
的默认值。然而,主要的问题是柱子的宽度。Toni Toni Chopper开始悬赏,因为他可能有密切的问题。如果他发布他的演示会更好。使用非常旧的
tableToGrid
是一个非常糟糕的选择,尤其是当表包含格式化数据而不是纯数据时。请给我们一个JSFIDLE来帮助您。jqGrid允许您用数据填充网格,而不仅仅是字符串。因此,例如,数字和日期将正确排序,并与所使用的区域设置或格式化程序选项相对应。只有在这之后,人们才能真正使用数据的本地排序、分页和过滤
tableToGrid
针对
addRowData
填充网格,将所有数据放在一页上。如果您想在该方式中放置20多行,那么在下一次排序后,您将只看到20行(因为使用
rowNum:20
并没有指定寻呼机)。这只是一个例子。还有更多的问题。Plz 4nsw3r d4 Q43使用h4lfw4y d3c3nt 3英语,因为它更容易阅读,因此也更容易理解,正如您现在可能已经注意到的那样。