为什么强制列模式在我的 ngx-datatable 实例上不能正常工作?
Why is the force column mode not working correctly on my ngx-datatable instance?
我正在尝试使用 ngx-datatable 包在我的 Angular 4 应用程序中显示一些数据,我对设置列宽的 "force" 模式特别感兴趣.据我了解,该模式应该根据单元格内容智能地确定列宽,以便所有内容都可见。但是,它对我不起作用。列的宽度设置为 150 像素,而不是它们各自的自定义宽度。
这是我的 table HTML:
<ngx-datatable
[rows]="rows"
[columns]="columns"
[columnMode]="'force'"
[scrollbarV]="true"
[scrollbarH]="true"
[rowHeight]="50"
>
</ngx-datatable>
这是我的配置:
rows = [
{ displayName: 'Austin', emailAddress: 'a@a.aa', role: 'Swimlane',
a: 'This should all be visible and none of this should be cut off because the table is in force mode and it should keep it all visible' },
{ displayName: 'Dany', emailAddress: 'b@b.bb', role: 'KFC' , a:'b',
b:'This text should also be completely visible due to the selected display mode of "force"'},
{ displayName: 'Molly', emailAddress: 'c@c.cc', role: 'Burger King', a:'test', b: '3',
c: 'Aaaaaaaaaabbbbbbbbbbbbbbbbcccccccccccccccccccccc' },
];
columns = [
{ name: 'Name', prop: 'displayName' },
{ name: 'Email', prop: 'emailAddress' },
{ name: 'Role', prop: 'role'},
{ name: 'A', prop: 'a'},
{ name: 'B', prop: 'b'},
{ name: 'C', prop: 'c'}
];
Plunker 在这里显示问题:
https://plnkr.co/edit/KZHb2s0PPAiB7uPtwdIA?p=preview
根据我以往对ngx-datatable的理解和使用,force模式并没有真正达到预期的效果。一种解决方法是您需要在 table HTML 中添加 [rowHeight]="'auto'"
。这将使段落显示为多行,如您在编辑后的 plunkr 的屏幕截图中所见:
。
但是,我发现如果 [scrollbarV]="true"
也存在,则添加上述内容将不起作用。
基本上,您的数据table html 应该如下所示:
<ngx-datatable
[rows]="rows"
[columns]="columns"
[columnMode]="'force'"
[rowHeight]="'auto'"
[scrollbarH]="true"
>
</ngx-datatable>
您还可以通过将 width:'300'
添加到列数组中的列对象来手动设置所需列的宽度。
我正在尝试使用 ngx-datatable 包在我的 Angular 4 应用程序中显示一些数据,我对设置列宽的 "force" 模式特别感兴趣.据我了解,该模式应该根据单元格内容智能地确定列宽,以便所有内容都可见。但是,它对我不起作用。列的宽度设置为 150 像素,而不是它们各自的自定义宽度。
这是我的 table HTML:
<ngx-datatable
[rows]="rows"
[columns]="columns"
[columnMode]="'force'"
[scrollbarV]="true"
[scrollbarH]="true"
[rowHeight]="50"
>
</ngx-datatable>
这是我的配置:
rows = [
{ displayName: 'Austin', emailAddress: 'a@a.aa', role: 'Swimlane',
a: 'This should all be visible and none of this should be cut off because the table is in force mode and it should keep it all visible' },
{ displayName: 'Dany', emailAddress: 'b@b.bb', role: 'KFC' , a:'b',
b:'This text should also be completely visible due to the selected display mode of "force"'},
{ displayName: 'Molly', emailAddress: 'c@c.cc', role: 'Burger King', a:'test', b: '3',
c: 'Aaaaaaaaaabbbbbbbbbbbbbbbbcccccccccccccccccccccc' },
];
columns = [
{ name: 'Name', prop: 'displayName' },
{ name: 'Email', prop: 'emailAddress' },
{ name: 'Role', prop: 'role'},
{ name: 'A', prop: 'a'},
{ name: 'B', prop: 'b'},
{ name: 'C', prop: 'c'}
];
Plunker 在这里显示问题: https://plnkr.co/edit/KZHb2s0PPAiB7uPtwdIA?p=preview
根据我以往对ngx-datatable的理解和使用,force模式并没有真正达到预期的效果。一种解决方法是您需要在 table HTML 中添加 [rowHeight]="'auto'"
。这将使段落显示为多行,如您在编辑后的 plunkr 的屏幕截图中所见:
[scrollbarV]="true"
也存在,则添加上述内容将不起作用。
基本上,您的数据table html 应该如下所示:
<ngx-datatable
[rows]="rows"
[columns]="columns"
[columnMode]="'force'"
[rowHeight]="'auto'"
[scrollbarH]="true"
>
</ngx-datatable>
您还可以通过将 width:'300'
添加到列数组中的列对象来手动设置所需列的宽度。