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


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 相关文章推荐
摘自百度的图片轮换效果代码
Nov 19 Javascript
JavaScipt基本教程之前言
Jan 16 Javascript
javascript 拖放效果实现代码
Jan 22 Javascript
jQuery对象和DOM对象的相互转化实现代码
Mar 02 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
Oct 09 Javascript
js判断当前页面在移动设备还是在PC端中打开
Jan 06 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
Apr 15 Javascript
简单实现AngularJS轮播图效果
Apr 10 Javascript
JS查找数组中重复元素的方法详解
Jun 14 Javascript
React+Antd+Redux实现待办事件的方法
Mar 14 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
Apr 20 Javascript
vue-cli4项目开启eslint保存时自动格式问题
Jul 13 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
2006/11/25 PHP
php实现微信发红包
2015/12/05 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
全面分析Python的优点和缺点
2018/02/07 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
django表单的Widgets使用详解
2019/07/22 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
Omio西班牙:全欧洲低价大巴、火车和航班搜索和比价
2017/02/11 全球购物
请介绍一下Ant
2016/07/22 面试题
网络安全方面的面试题
2016/01/07 面试题
Python中如何定义一个函数
2016/09/06 面试题
周年庆典邀请函范文
2014/01/24 职场文书
庆祝儿童节标语
2014/10/09 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
学生违反校规检讨书
2014/10/28 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
小学中等生评语
2014/12/29 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
疾病证明书
2015/06/19 职场文书