我在我的.NET Web应用程序中使用jQuery DataTables,但是如何为一个特定的列设置最大宽度,所有其他列应该自动调整大小(就像它们现在在我的表格中一样)
编辑
DataTables自己已经正确地完成了这个问题,问题是有一个没有空格的非常长的单词导致了问题。
我在我的.NET Web应用程序中使用jQuery DataTables,但是如何为一个特定的列设置最大宽度,所有其他列应该自动调整大小(就像它们现在在我的表格中一样)
编辑
DataTables自己已经正确地完成了这个问题,问题是有一个没有空格的非常长的单词导致了问题。
您的问题似乎与CSS有关...
在CSS中使用word-wrap可以解决这个问题,对于columnX,只需将以下内容添加到您的CSS中。
.columnX {
word-wrap: break-word;
}
自动换行
的上述解决方案 - 它运作得很好。然而,我在包含大量数据的列上仍然存在问题。为了完全解决此问题,我还做了以下操作:数据表
列宽度有关的问题。对我来说神奇的解决方法是包括以下行:table-layout: fixed;
这个 css
与整个表格的 css
相关联。例如,如果您像以下这样声明了 datatables
:
LoadTable = $('#LoadTable').dataTable.....
css
代码行应该放在类 Loadtable
中。#Loadtable {
margin: 0 auto;
clear: both;
width: 100%;
table-layout: fixed;
}
我通过修改内容来控制列宽,如果内容过长则在工具提示中显示完整文本。
{
targets: [3],
"render": function (data, type, row, meta) {
return type === 'display' && data.length > 20 ?
'<span title="' + data + '">' + data.substr(0, 18) + '...</span>' : data;
}
},
{
targets: [3],
"render": function (data, type, full, meta) {
return '<span data-toggle="tooltip" title="' + data + '">' + data + '</span>';
}
}
使用 span 元素,您也可以直接控制长度。
{
targets: [3],
"render": function (data, type, full, meta) {
return '<span style="display: inline-block; width:200px;">' + data + '</span>';
}
}
通过使用,这可以变得很容易
'columnDefs': [
{'max-width': '20%', 'targets': 0}
],
请参考此链接获取更多信息。 (如何在jQuery DataTables中为特定列设置最大宽度)!