jqgrid插件的双击表的列头以获取该列的最长内容的长度,将该一列列宽改为获取的该列的最长数据内容的长度
时间: 2024-02-03 13:14:41 浏览: 66
可以通过以下步骤实现:
1. 给表格绑定双击事件,获取当前双击的列头信息。
```javascript
$("#grid").bind("jqGridDblClickHeader", function(e, gridColIndex, iCol, sortorder) {
var colName = $(this).jqGrid('getGridParam', 'colModel')[iCol].name;
...
});
```
2. 遍历该列的所有单元格,获取最长的数据内容长度。
```javascript
var maxLen = 0;
$(this).find("tr").each(function() {
var cellData = $(this).find("td:eq(" + iCol + ")").text();
if (cellData.length > maxLen) {
maxLen = cellData.length;
}
});
```
3. 将该列的宽度设置为最长数据内容的长度。
```javascript
$(this).jqGrid('setColWidth', colName, maxLen * 10);
```
完整代码如下:
```javascript
$("#grid").bind("jqGridDblClickHeader", function(e, gridColIndex, iCol, sortorder) {
var colName = $(this).jqGrid('getGridParam', 'colModel')[iCol].name;
var maxLen = 0;
$(this).find("tr").each(function() {
var cellData = $(this).find("td:eq(" + iCol + ")").text();
if (cellData.length > maxLen) {
maxLen = cellData.length;
}
});
$(this).jqGrid('setColWidth', colName, maxLen * 10);
});
```
其中,10是自定义的单元格宽度系数,可以根据实际情况进行调整。
阅读全文