Angular4 后台管理系统搭建(3) - wijmo5 flexgrid表格增删改按钮实现

  这章应该是wijmo5 flexgrid表格应用的最后一章,咱们在三章内介绍了flexgrid表格组件的数据绑定,分页器搭建,单元格模板控制和代码重绘单元格控制。这章在介绍下对表格添加增删改三个按钮。有了这些功底之后作angular的项目,使用wijmo5 flexgrid组件。基本上是够用了。还有一些好比内部编辑,合并,子表格什么的须要了在去熟悉便可。html

  首先是要在ts文件内找到html模板内的表格对象。这个用@ViewChild 这个指令实现。咱们看下实现,首先是html模板git

  对表格组件,咱们添加一个 #flexgrid ,即模板内变量。他能够在模板内被其余函数引用或绑定,也能够直接在后台获取,使用@ViewChild指令。github

  这样在后台ts文件内就能够获取这个表格对象的引用了。有了表格对象一切都好办。好比批量删除和编辑函数的实现npm

  edit():void{
    let inId:number = 0;
    let typeid:number = 0;
    let flex:wjGrid.Row[] = this.flexgrid1.selectedRows as wjGrid.Row[];
    if(flex.length == 1){
      inId = flex[0].dataItem.id;
      typeid = 1;
      let isdelandedit:string = flex[0].dataItem.isdelandedit;
      if(isdelandedit == '已锁定') typeid = 2;
    }
    switch(typeid){
      case 0:
        alert('没有选中行,请先选中行后修改');
      break;
      case 2:
        alert('选中行的主键是' + inId + '  可是本行状态位是已锁定,不可在编辑');
      break;
      case 1:
        alert('选中行的主键是' + inId);
        this.m2v2open.showChildModal();
      break;
    }
  }

  dellList():void{
    let flex:wjGrid.RowCollection = this.flexgrid1.rows;
    let checkboxAdd:number[] = [];
    for(let i = 0;i<flex.length;i++){
      let rowData = flex[i].dataItem;
      if(rowData.check == true){ checkboxAdd.push(rowData.id);}
    }
    if(checkboxAdd.length == 0) {
      alert('没有选择');
    }
    else {
      alert('您选择的主键为[' + checkboxAdd.join(",") + '] 业务操做本身去实现');
    }
  }

  实现思路是先在外部触发函数内获取表格对像。获取flexgrid表格的行集合对象,对象类型为 wjGrid.RowCollection 。行集合内每一个行对象是 wjGrid.Row , 把wjGrid.Row 对象在转为dataIItem对象。从dataIItem对象上能够很方便的获取到绑定的数据。我以为对wijmo5 flexgrid 熟悉了之后,用起来确实很方便。能很大的提高效率。但就是相关资料太少了。json

  对wijmo5引用,最好的方式仍是远程引用。直接在package.json 文件内添加函数

"wijmo": "http://prerelease.componentone.com/wijmo5/npm-images/C1Wijmo-Enterprise-Eval-AMD-5.20171.293.tgz",

 这样直接引用远程的wijmo5包便可。虽然下面会出水印。但咱们我的用仍是无所谓的。最后上个效果图flex

这里面规则是:this

一、锁定的行,不能够在编辑;spa

二、禁用的行,多选框不可选中;3d

具体效果能够去  http://121.42.203.123  查看。想下载代码能够去前两篇文章里找github地址。这里就不列出了。

相关文章
相关标签/搜索