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


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中的事件
Sep 23 Javascript
javascript新手语法小结
Jun 15 Javascript
浅谈javascript的数据类型检测
Jul 10 Javascript
js动画效果制件让图片组成动画代码分享
Jan 14 Javascript
jquery 3D 标签云示例代码
Jun 12 Javascript
js匿名函数作为函数参数详解
Jun 01 Javascript
jquery平滑滚动到顶部插件使用详解
May 08 jQuery
ionic2自定义cordova插件开发以及使用(Android)
Jun 19 Javascript
用React实现一个完整的TodoList的示例代码
Oct 30 Javascript
jQuery Dom元素操作技巧
Feb 04 jQuery
图文讲解用vue-cli脚手架创建vue项目步骤
Feb 12 Javascript
jQuery实现购物车全功能
Jan 11 jQuery
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
搜索和替换文件或目录的一个好类--很实用
2006/10/09 PHP
批量修改RAR文件注释的php代码
2010/11/20 PHP
PHP 第二节 数据类型之转换
2012/04/28 PHP
php 不使用js实现页面跳转
2014/02/11 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
发现的以前不知道的函数
2006/09/19 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
原生js实现密码强度验证功能
2020/03/18 Javascript
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
动态创建类实例代码
2009/10/07 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
Python如何定义有可选参数的元类
2020/07/31 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
怎样比较两个类型为String的字符串
2016/08/17 面试题
成功的餐厅经营创业计划书
2014/01/15 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
AJAX学习笔记
2021/05/18 Javascript
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android