我没有CSS问题,但有一个逻辑问题。我想摆脱我的表格单元格中的自动换行。由于某些原因,长段数据被分成两行,甚至在HTML本身中也是如此。这意味着这里没有任何一个经典的CSS属性会有所帮助。
示例:
<td class="sorting_1">SAP-IT Projekt
Welle 1</td>td元素内的值被切成两部分。
我试过的是:
{
"data": "Project.Name",
"editField": "ProjectEntry.IdProject",
"render": function (project) {
// This code doesn't really work, the cells still contain linebreaks.
project = project.trim().replace(/(\r\n\t|\n|\r\t)/gm, "");
console.log(project);
return project;
}
}注意:此呈现函数中的日志记录输出没有换行的字符串。
我想我错过了一个关键的配置,以防止这些自动换行。
这个表过去有“响应”的配置,但我已经删除了。
更新:
以下是每个单元格的样式:
#ProjectEntryDataContainer, #ProjectEntryDataContainer > div > table > tbody > tr > td {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
table-layout: fixed;
}根据Chrome的DevTools,这种风格正被应用到每个单元格中。表元素包含类nowrap。
正如我提到的,CSS与我的问题几乎没有任何关系。文本显示在一行中,但是HTML元素在其中有一个行中断。我想去掉HTML中的断线,这样我就可以使用jQuery代码正确地搜索单元格。我目前正在使用以下代码搜索我的单元格:
var project = rowData.Project.Name.trim().replace(/(\r\n\t|\n|\r\t)/gm, "");
// Find our required cell that we want to edit. If we can't find one, create a new one.
var colHeaderTarget = $("#ProjectEntryData").find('th:contains("Arbeitsstunden")')[0];
var rowHeaderTarget = $("#ProjectEntryData").find('td:contains("' + project + '")')[0];
var projectRows = $("#ProjectEntryData").find("tr:contains('" + project + "')");
console.log(project);
console.log(projectRows);只要单元格没有换行符,这段代码就工作得非常好。

我刚刚发现我的JSON数据包含行符。一旦我发现更多信息我会更新的。
{IdProject: 35, Name: "SAP-IT Projekt
↵ Welle 1", Description: null,Update: SQL数据包含换行.见答案。
发布于 2018-10-16 10:21:00
结果是,当数据库包含换行时,您将在HTML中获得换行。如果有人有导致DataTables过滤掉单元数据中的行中断的解决方案,我将将该解决方案标记为可接受的答案。否则,我将建议每个人避免SQL数据中的换行。
发布于 2022-08-17 09:48:32
试试 ,它对我很管用。
https://stackoverflow.com/questions/52830618
复制相似问题