当前位置: 首页 > 工具软件 > ngx-datatable > 使用案例 >

angular5 ngx-datatable无法拉伸表格

邢运良
2023-12-01

遇到的问题

项目开发周期长,当时用的框架是angular5,目前angular的版本已经更新到angular7,公司要实现表格无线滚动并且可以支持每一列可以自由拉伸,ngx-datatable的拉伸在angular5上不起作用

替换的方案

使用jQuery+jquery.resizableColumns+angular2-infinite-scroll替换ngx-datatable

对于外部插件的引用,网上总结了三种方法:
1、加在.angular-cli.json中
2、加在index.html中直接引用
3、在ts文件中import

这里使用第三种方法

import 'assets/js/jquery'
import 'assets/js/jquery.resizableColumns'
declare const $:any;

初始化在需要调用的地方执行:

$("table").resizableColumns({});

动态加载数据的时候出现无法拉伸,可能的原因是动态的时候宽度改变了初始的宽度,拉伸条一直是存在的,目前解决的方法是在th中加上宽度,代码如下:

<table width="100%" class="table listext" data-resizable-columns-id="demo-table">
    <thead>
    <tr>
      <th data-resizable-column-id="#" style="width: 200px;">#</th>
      <th data-resizable-column-id="first_name" style="width: 200px;">First Name</th>
      <th data-resizable-column-id="last_name" style="width: 200px;">Last Name</th>
      <th data-resizable-column-id="username" id="username-column">Username</th>
    </tr>
    </thead>
    <tbody>
    <tr *ngFor="let item of requirementList">
      <td>{{item.requirementNo}}</td>
      <td>Mark</td>
      <td>Otto</td>
      <td>@mdo</td>
    </tr>
    </tbody>
  </table>
 类似资料: