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


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 相关文章推荐
jQuery 注意事项 与原因分析
Apr 24 Javascript
JavaScript设置FieldSet展开与收缩
May 15 Javascript
让Firefox支持event对象实现代码
Nov 07 Javascript
js判读浏览器是否支持html5的canvas的代码
Nov 18 Javascript
js实现文字跟随鼠标移动而移动的方法
Feb 28 Javascript
js实现不提交表单获取单选按钮值的方法
Aug 21 Javascript
深入理解JavaScript中的浮点数
May 18 Javascript
基于javascript实现最简单选项卡切换
Feb 01 Javascript
Node.js 异步异常的处理与domain模块解析
May 10 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
Nov 11 Javascript
javascript实现电商放大镜效果
Nov 23 Javascript
一篇文章弄清楚Ajax请求的五个步骤
Mar 17 Javascript
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
德生1994机评
2021/03/02 无线电
抓取YAHOO股票报价的类
2009/05/15 PHP
PHP $_FILES函数详解
2011/03/09 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
如何让CI框架支持service层
2014/10/29 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
详解Python3.1版本带来的核心变化
2015/04/07 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
使用tensorflow进行音乐类型的分类
2020/08/14 Python
用python绘制樱花树
2020/10/09 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
俄罗斯女装店:12storeez
2019/10/25 全球购物
全球精选男装和家居用品:Article
2020/04/13 全球购物
体育专业学生自我评价范文
2014/01/17 职场文书
酒店经理职责
2014/01/30 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
政风行风评议工作总结
2014/10/21 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
读后感作文评语
2014/12/25 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS