Angularjs角度数据表更改DTColumnDef上的列宽

Angularjs角度数据表更改DTColumnDef上的列宽,angularjs,datatables,width,angular-datatables,Angularjs,Datatables,Width,Angular Datatables,版本:AngularJS 1.6.4,角度数据表0.5.6 问题:无法使用更改列宽 .withOption('width', '20%') 我已经浏览了大部分SO问题,但仍然没有找到答案 以下是我的示例代码: JS: HTML: 在DTBuilder中 .notSortable() 工作也很好,但不是最好的 .withOption('width','20%') 我尝试过的事情: 设置表格标题的内联样式宽度 注释掉dtOptions.withOption()以检查 感谢您的帮助如果您

版本:AngularJS 1.6.4,角度数据表0.5.6

问题:无法使用更改列宽

.withOption('width', '20%')
我已经浏览了大部分SO问题,但仍然没有找到答案

以下是我的示例代码:

JS:

HTML:

在DTBuilder中

 .notSortable() 
工作也很好,但不是最好的

.withOption('width','20%')
我尝试过的事情:

  • 设置表格标题的内联样式宽度
  • 注释掉dtOptions.withOption()以检查
感谢您的帮助

如果您想推翻默认设置和DT的假设,您必须声明一个显式CSS类<“代码>自动宽度”或多或少是无用的,依我看。例如:

.td小型{
宽度:40px;
最大宽度:40px;
}
DTColumnDefBuilder
.newColumnDef(8)
.notSortable()
.withClass(“td-small”)
您可以将类组合起来,即
。与class('classA classB classC')

尽管文档中提到了百分比,但它只适用于非常狭窄的场景,即将所有列设置为具有特定百分比,并将容器设置为具有固定宽度,如
900px
<代码>20%的“未定义”不计算。我可以在我的项目中找到的另一个典型示例是,您需要使用省略号收缩的长内容:

.td-200-省略号{
最大宽度:200px;
溢出:隐藏;
文本溢出:省略号;
}
如果您想要对列宽进行极端控制,请在DataTables范围之外查看此答案->

 .withOption('autoWidth', true);
 .notSortable() 
.withOption('width','20%')