jQuery DataTables 最大列宽

发布于 2024-09-10 07:12:23 字数 172 浏览 4 评论 0原文

我在 .NET Web 应用程序中使用 jQuery DataTables,但如何设置一个特定列的最大宽度,所有其他列应自动调整大小(就像它们现在在我的表中一样)

编辑

DataTables 自己正确地完成了它,问题是有一个很长的单词没有空格导致了问题

I'm using jQuery DataTables in my .NET web application but how do I set a max width for one specific column, all the other columns should be auto sized (like they are now in my table)

EDIT

The DataTables did it correctly by itself, the problem was there was a very long word without spaces that cause the problem

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

云归处 2024-09-17 07:12:23

你的问题似乎与 CSS 更相关......

在 CSS 中使用 word-wrap 可以解决这个问题,因为 columnX 只需将其添加到你的 CSS 中即可。

.columnX {
  word-wrap: break-word;
}

根据您为列设置的宽度,它甚至会包装没有空格的单词。

请参阅:https://developer.mozilla.org/en/css/word-wrap

Your problem seems more CSS related ...

Using word-wrap in CSS would fix that issue, for columnX just add this to your CSS.

.columnX {
  word-wrap: break-word;
}

It would wrap even words without spaces based on your set width for the column.

See: https://developer.mozilla.org/en/css/word-wrap

好听的两个字的网名 2024-09-17 07:12:23

我同意上述使用自动换行的解决方案 - 它效果很好。但是,对于包含大量数据的列,我还遇到了更多问题。我还执行了以下操作以使其完全正常工作:

我在数据表的列宽度方面遇到了许多问题。对我来说,神奇的解决方法是包括这行

table-layout: fixed;

This css comes with the another整体css of the table。例如,如果您已按如下方式声明 datatables

LoadTable = $('#LoadTable').dataTable.....

那么神奇的 css 行将位于类 Loadtable 中。

#Loadtable {
  margin: 0 auto;
  clear: both;
  width: 100%;
  table-layout: fixed;
}

I agree with the above solution of using the word wrap - it works great. However, I had further issues with columns with large amounts of data in. I also did the following to get it fully working:

I have had numerous issues with the column widths of datatables. The magic fix for me was including the line

table-layout: fixed;

This css goes with the overall css of the table. For example, if you have declared the datatables like the following:

LoadTable = $('#LoadTable').dataTable.....

Then the magic css line would go in the class Loadtable.

#Loadtable {
  margin: 0 auto;
  clear: both;
  width: 100%;
  table-layout: fixed;
}
夜灵血窟げ 2024-09-17 07:12:23

我通过修改内容(如果太长)并在工具提示中显示全文来控制列宽。

{
    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>';
    }
}

I am controlling the column width by modifying the contents if too long and displaying the full text in a tooltip.

{
    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>';
    }
}

Using the span element, you could control length directly as well.

{
    targets: [3],
    "render": function (data, type, full, meta) {
        return '<span style="display: inline-block; width:200px;">' + data + '</span>';
    }
}
海螺姑娘 2024-09-17 07:12:23

使用此链接可以轻松

'columnDefs': [
      {'max-width': '20%', 'targets': 0}
    ],

获取更多信息。
如何设置特定列的最大宽度在 jQuery DataTables 中)!

It can be easy with use of

'columnDefs': [
      {'max-width': '20%', 'targets': 0}
    ],

Refer this link for more information.
(How to set max-width for particular column in jQuery DataTables)!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文