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

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

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

对表格组件,我们添加一个 #flexgrid ,即模板内变量。他可以在模板内被其他函数引用或绑定,也只可以直接在后台获取

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

  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(",") + ‘] 业务操作自己去实现‘);
    }
  }

实现思路是在外部获取表格对像。获取行集合对象  wjGrid.RowCollection 。行集合内每个行对象 wjGrid.Row , 在转为dataitem对象。从dataitem对象上可以很方便的获取到绑定的数据。我觉得对wijmo5 flexgrid 熟悉了以后,用起来确实很方便。能很大的提升效率。但就是相关资料太少了。

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

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

 这样直接引用远程的包即可。虽然下面会出水印。但我们个人用还是无所谓的。最后上几个效果图

这里面规则是:锁定的行,不可以在编辑。禁用的行,多选框不可选中。

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

时间: 2024-11-12 16:21:32

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

Angular4 后台管理系统搭建(8) - 重构angular4 站点。

这章介绍下我这几天重构的angular4 站点.我们最终目标是用angular4做企业级应用的web后台.所以某些功能需要加强.比如更强的权限管理,更自动化的辅助功能.新站点基本上可以满足,可以作为一个基础来扩展. demo演示地址: http://114.215.44.2      旧版的站点我转移到  http://114.215.44.2:81 github地址:https://github.com/Vetkdf/yang-location 第一步,熟悉下新项目个个模块的作用 其中 以bu

Angular4 后台管理系统搭建(7) - 切换开发环境

最近事情很多.没顾得上更新.公司协商解除劳动关系了.不过公司按劳动法给了违约金,也是不错的.以后就有更多的时间来做这个. 有人说下载以后编译出错.当时我觉得很奇怪.在我的机器上很稳定的.后来问了下,是在windows环境上.我自己也找了个windows机器.试了下.也是出错. 这种类型转换的错误.但是在MAC环境下.却是一点问题没有.下图是在MAC屏幕上的拍照.不会有错误提示. 要解决也很简单.所有异常处理那.前面加上return.改成如下就可以 .catch((error: any) => {

javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

jsp页面表格布局Html代码 <body > <center> <input type="text" value="111" id="mytext"> <table border="1" width="60%" id="mytable"> <tr> <td id="td1">第一行第一列<

[Cocoa-4th] Chapter6 - NSTableView表格增删改 (详尽介绍2)

[Cocoa-4th] Chapter6 - NSTableView表格增删改 (详尽介绍2) 功能如上:NSTableView表格增删改 STEP1 Open XCode Ver4.6  New Application  在xib控件界面上加入一些控件,如图: STEP2 新建类:NSObject子类,命名为: Table_DS_Main 注意:添加协议NSTableViewDataSource,然后停止,从控件面板找到Object,放在界面窗口左边,指定这个类,然后 点击控件上的按钮,按住C

abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之六(三十二)

abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui

asp.net下利用MVC模式实现Extjs表格增删改查

在网上看到有很多人写extjs下的表格控件的增删改查,但是大多数都是直接从后台读取数据,很少有跟数据库进行交互的模式. 今天就来写一个这样的例子.欢迎大家交流指正. 首先简单介绍一下MVC模式,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写. Model(模型) 是应用程序中用于处理应用程序数据逻辑的部分.通常模型对象负责在数据库中存取数据. View(视图) 是应用程序中处理数据显示的部分.通常视图是依据模型

vue____后台管理系统搭建(推荐,懒得自己写了)

@跳转链接   作者:花裤衩      ---->>     https://juejin.im/post/59097cd7a22b9d0065fb61d2 比较完整的一篇,从开始到结束: 内容涉及环境搭建,基础知识,webpack (不包含)  个人推荐  如果搭建  管理后台 上述链接可应付: 如若要写APP   混编   请酌情结合以下内容: webpack (不包含)  @ 推荐链接:         https://segmentfault.com/a/119000000617877

JavaEE权限管理系统的搭建(七)--------管理用户的增删改

本小结讲解管理用户的增删改查实现, 首先是添加用户,如下图所示,可以看到添加用户的同时也要给用户分配角色,至少给用户分配一个或者是多个角色 页面js部分: $.ajax({ //几个参数需要注意一下 type: "POST",//方法类型 dataType: "json",//预期服务器返回的数据类型 url: "/admin/admin-user-add.action" ,//url data: $('#form1').serialize(),

搭建MyBatis工作环境以及增删改查基本操作

数据库准备 创建一个数据库为mybatus-test,表为user CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; insert into `user`(