4

我有一个动态的表,它是在 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 中的显示方式。

在此处输入图像描述

我在这个上花了一天多的时间,它慢慢地杀死了我。任何帮助都会很棒!

4

3 回答 3

1

我终于能够解决这个问题。

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

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

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

于 2013-07-02T13:28:20.633 回答
0

尝试将此属性应用于您的表..

table-layout: fixed;

这对我有用。我希望这对你有帮助。

于 2013-07-05T10:19:59.457 回答
-1

编辑CSS

.ui-jqgrid tr.jqgrow td{
         white-space: normal;
      }
于 2014-12-24T07:25:11.223 回答