详解能在多种前端框架下使用的表格控件


Posted in Javascript onJanuary 11, 2017

近几年Web前端框架特别流行,比如AngularJS、AngularJS 2、ReactJS、KnockoutJS、VueJS等。表格控件是我们在开发中经常要用到的控件。有没有能够在多种前端控件下都能使用的表格控件?最近研究发现Wijmo中的FlexGrid是一款不错的表格控件,它能支持很多主流的框架。这里主要介绍在纯JavaScript和AngularJS下FlexGrid的使用。

一、在纯JavaScript下使用FlexGrid

HTML文件:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <title></title>
 <meta charset="utf-8" />
 <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
 <!-- Wijmo -->
 <link href="styles/vendor/wijmo.min.css" rel="stylesheet" />
 <script src="scripts/vendor/wijmo.min.js" type="text/javascript"></script>
<script src="scripts/vendor/wijmo.grid.min.js" type="text/javascript"></script>
 <script src="scripts/app.js" type="text/javascript"></script>
 <script src="scripts/FlexGrid.js" type="text/javascript"></script>
</head>
<body>
 <div id="grid">
 </div>
</body>
</html>

1、  引入Wijmo的JS文件和样式:wijmo.min.css 、wijmo.min.js、wijmo.grid.min.js

2、  引入app.js和FlexGrid.js文件。

3、  定义一个div元素用于显示Grid

App.js文件:

var appData = {
 getData: function (count) {
 var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(','),
  data = new wijmo.collections.ObservableArray();
 for (var i = 0; i < count; i++) {
  data.push({
  id: i,
  country: countries[i % countries.length],
  date: new Date(2014, i % 12, i % 28),
  amount: Math.random() * 10000,
  active: i % 4 === 0
  });
 }
 return data;
 }
}

在app.js中定义appData,其中的getData方法根据传入的Count产生数据。

FlexGrid.js:

(function (wijmo, data) {
 var cv = data.getData(30);
 var grid = new wijmo.grid.FlexGrid('#grid');
 grid.itemsSource = cv;
 })(wijmo, appData);

在FlexGrid.js中调用data.getData(30)获取数据30个数据。获得FlexGrid控件,并进行数据绑定。

下面就是运行结果:

详解能在多种前端框架下使用的表格控件

二、在AngularJS下使用FlexGrid

HTML文件:

<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title></title>
 <meta charset="utf-8" />
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
 <script src="scripts/vendor/wijmo.min.js"></script>
 <script src="scripts/vendor/wijmo.grid.min.js"></script>
 <script src="scripts/vendor/wijmo.angular.min.js"></script>
 <link rel="stylesheet" href="styles/vendor/wijmo.min.css" />
 <script src="scripts/app.js"></script>
 <script src="scripts/control.js"></script>
</head>
<body ng-app="app" ng-controller="appCtrl">
 <wj-flex-grid items-source="data" >
 </wj-flex-grid>
</body>
</html>

1、  引入angular.min.js

2、  引入Wijmo相关的文件wijmo.min.js、wijmo.grid.min.js、wijmo.angular.min.js、wijmo.min.css

3、  引入app.js和control.js

4、  添加NG指令ng-app、ng-controller

5、  通过wj-flex-grid指令定义表格,并设置数据源

app.js文件:

var app = angular.module('app', ['wj']);

control.js文件:

app.controller('appCtrl', function ($scope) {
 // generate some random data
 function getData(count) {
 var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(','),
  data = new wijmo.collections.ObservableArray();
 for (var i = 0; i < count; i++) {
  data.push({
  id: i,
  country: countries[i % countries.length],
  date: new Date(2014, i % 12, i % 28),
  amount: Math.random() * 10000,
  active: i % 4 == 0
  });
 }
 return data;
 }
 $scope.data = getData(30);
});

其运行结果和纯JS的结果完全一样。

通过上面的两个示例可以看到无论是在纯JS中还是在AngularJS中使用FlexGrid都非常简单。尤其是在AngularJS框架中通过Wijmo自定义的Angular指令wj-flex-grid使用表格控件很容易。Wijmo支持AngularJS、AngularJS 2、ReactJS、KnockoutJS、VueJS、Ionic等前端框架,就不在一一示例。FlexGrid的功能包括排序、过滤、分组、分页、单元格合并、冻结、格式化、条件样式、单元格模板、主题、树形结构等。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
js页面跳转常用的几种方式
Nov 25 Javascript
JavaScript获取页面上某个元素的代码
Mar 13 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
Apr 12 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
Jun 01 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
微信小程序 开发经验整理
Feb 15 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
Feb 26 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
Apr 26 Javascript
react-router中的属性详解
Jun 01 Javascript
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
Selenium执行Javascript脚本参数及返回值过程详解
Apr 01 Javascript
Vue如何实现变量表达式选择器
Feb 18 Vue.js
vuejs父子组件通信的问题
Jan 11 #Javascript
bootstrap 表单验证使用方法
Jan 11 #Javascript
原生js实现无缝轮播图效果
Jan 11 #Javascript
Bootstrap 填充Json数据的实例代码
Jan 11 #Javascript
原生js实现放大镜效果
Jan 11 #Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 #Javascript
微信小程序开发经验总结(推荐)
Jan 11 #Javascript
You might like
实用函数5
2007/11/08 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python实现的计算马氏距离算法示例
2018/04/03 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
python通过实例讲解反射机制
2019/10/17 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
python实现三壶谜题的示例详解
2020/11/02 Python
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
房地产财务管理制度
2014/02/02 职场文书
工作证明格式及范本
2014/09/12 职场文书
2014国庆黄金周超市促销活动方案
2014/09/21 职场文书
委托培训协议书
2014/11/17 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
我是特种兵观后感
2015/06/11 职场文书
在职证明格式样本
2015/06/15 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
golang DNS服务器的简单实现操作
2021/04/30 Golang
使用logback实现按自己的需求打印日志到自定义的文件里
2021/08/30 Java/Android
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers