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


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 相关文章推荐
Javascript 学习书 推荐
Jun 13 Javascript
javascript 自动填写表单的实现方法
Apr 09 Javascript
将字符串中由空格隔开的每个单词首字母大写
Apr 06 Javascript
浅谈JavaScript对象的创建方式
Jun 13 Javascript
json对象与数组以及转换成js对象的简单实现方法
Jun 24 Javascript
Javascript从数组中随机取出不同元素的两种方法
Sep 22 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
js 倒计时(高效率服务器时间同步)
Sep 12 Javascript
js运算符的一些特殊用法
Jul 29 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
Jan 23 Javascript
vue弹出框组件封装实例代码
Oct 31 Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 24 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
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
php实现的mysqldb读写分离操作类示例
2017/02/07 PHP
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
Python实现字典依据value排序
2016/02/24 Python
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
2019/12/18 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
班班通项目实施方案
2014/02/25 职场文书
如何写好建议书
2014/03/13 职场文书
行政专员求职信范文
2014/05/03 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
趵突泉导游词
2015/02/03 职场文书
医疗纠纷调解协议书
2015/08/06 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技