4

有没有办法为 Jqgrid 设置固定的列宽和高度。

我将 jqgrid css 更改为

.ui-jqgrid tr.jqgrow td {vertical-align:text-top;font-weight: normal; overflow: hidden; white-space:pre-wrap; height: 20px !important;padding: 0 2px 0 2px;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;}

但这并没有将高度设置为 20px。

我还需要将所有行设置为特定的高度,如果大小超过列的大小,列中的数据应该被切断,并且悬停在列上应该显示整个数据。

下面是我的 colName 和 model

ColNameData = ['Date', 'Fund', 'Partner', 'Menu', 'Sub Menu', 'Document Name', 'Document Description', 'Type', 'ID'];
                     ColModelData = [{ name: 'MessageDate',
                         align: 'right',
                         sorttype: 'date',
                         datefmt: 'm/d/Y',
                         width :10,resizable:false
                          },
                                    { name: 'Fund', align: 'left',width : 8, resizable:false},
                                    { name: 'Partner', align: 'left',width : 7,resizable:false },
                                    { name: 'Menu', align: 'left',width : 9,resizable:false },
                                    { name: 'SubMenu', align: 'left',width : 9,resizable:false},
                                    { name: 'Documentname', align: 'left',width : 35,resizable:false },
                                    { name: 'DocumentDescription', align: 'left',width : 35,resizable:false },
                                    { name: 'Type', align: 'left',width : 5,resizable:false},
                                    { name: 'ID', hidden: true, resizable: false }
                                   ];
4

4 回答 4

3

jqgrid属性中,您会发现 jqgrid 的宽度和高度可以通过属性设置widthheight如下所示。这同样适用于 jqgrid 的每一行。

{ name: 'Fund', align: 'left',width : 8, height:20, resizable:false}

上面的行将把这个单元格的高度设置为20 px。因此您可以设置height所有列的参数以确保行的高度为20 px

于 2013-03-06T04:07:56.963 回答
3

这对我来说非常好(在呈现 jqgrid 后调用)

function reDefineColWidth(){
    var columnWidths = '65px|88px|175px|140px|200px|75px|140px|150px|130px|220px|125px|230px|200px|111px'
    var widthsArr = columnWidths.split('|');
    for(var j=0; j < widthsArr.length ; j++ ){
        $('.ui-jqgrid-labels > th:eq('+j+')').css('width',widthsArr[j]); // will set the column header widths
        $('#grid tr').find('td:eq('+j+')').each(function(){$(this).css('width',widthsArr[j]);}) // will set the column widths
    }
}
于 2013-11-27T06:14:13.143 回答
2

您可以使用 colModel 中的固定选项

fixed: true

列的属性(请参阅文档

于 2014-04-10T10:51:56.277 回答
2

归功于 neel 和 Ajo。在 jqGrid 4.5.4 中,我发现当整个网格的 autowidth 设置为 true 时,在 colModel 中的列上应用 resizable 为 false 和 fixed 为 true 都有效。

{ name: 'fund', width: 8, height: 20, resizable: false, fixed: true }

但无法确认未来的版本。

于 2016-12-22T11:48:06.363 回答