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

近几年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的功能包括排序、过滤、分组、分页、单元格合并、冻结、格式化、条件样式、单元格模板、主题、树形结构等。

源代码下载

时间: 2024-10-04 14:37:10

能在多种前端框架下使用的表格控件的相关文章

SpreadJS纯前端表格控件V11.1震撼来袭

全球最大的控件提供商葡萄城宣布,纯前端表格控件SpreadJS 正式发布2018 V11.1 版本,新版本提供撤销/重做功能,并增强了UI和数据筛选,极大的扩展了产品的实用功能,可更加方便优雅的嵌入您的应用系统. Spread 是一系列功能和Excel类似的表格工具,支持桌面.Web和移动平台开发,用于在您的应用系统中实现Excel导入导出.表格数据录入和编辑等交互功能,并提供灵活的定制能力和丰富的数据可视化效果.Spread 在功能和布局上与Excel高度相似,全系列包括适用于前端平台Spre

葡萄城首席架构师:前端开发与Web表格控件技术解读

讲师:Issam Elbaytam,葡萄城集团全球首席架构师(Chief Software Architect of GrapeCity Global).曾任 Data Dynamics.Inc 创始人兼资深产品经理,个人研究方向主要为 MS.NET语言及平台.动态化系统构建,以及高性能大型分布式Web系统架构,主导了葡萄城多款畅销控件产品的系统架构与性能优化.   “25年来每天只休息4小时,除了日常作息时间,Issam不是在研究技术和产品,就是在去研究技术发展趋势的路上”这就是葡萄城同事对他

如何写一套下拉刷新的控件?《MJRefresh原理浅析》(附Demo下载地址)

相信大家有很多人在做项目的时候都在使用MJRefresh 控件来实现下拉刷新的功能: MJRefresh经过不断的重构与更新迭代,现在不管是功能上还是代码结构上都是相当不错的,都是很值我们去学习的. 下面就是MJRefresh开源框架中中主要的一些类文件 MJRefresh主要的类文件 MJRefresh 的使用相信都难不倒大家 今天我主要想和大家分享一下MJRefresh的想法,因为我觉得这才是最重要的,献丑了,有理解的不对和不深入的地方,请大家多多点评哈! 试想,如果没有MJRefresh开

SpreadJS 表格控件发布V11版本,新增图表及前端PDF导出!

日前,全球最大的控件提供商葡萄城宣布,SpreadJS 纯前端表格控件正式发布V11 版本.新版本亮点颇多,不但为用户带来期待已久的图表功能,还新增前端导出 PDF.列分组等功能,在数据可视化方面更进一步,受到了开发人员的广泛关注. SpreadJS是基于HTML5的JavaScript电子表格和网格功能控件,适用于.NET.Java和移动端等各平台在线编辑类Excel功能的表格程序开发.开发人员可利用SpreadJS,更好的显示和管理类似 Excel 的数据,更方便的进行公式引擎.排序.过滤.

纯前端表格控件SpreadJS V11.2新版本发布,全面支持React和Vue

SpreadJS是一款基于 HTML5 的纯 Java 电子表格和网格功能控件,在外观.功能和操作上都与 Excel 高度类似,在表格数据处理上比 Grid 类控件更为优秀,被开发人员誉为"可嵌入系统开发的在线Excel". 近日,纯前端表格控件 SpreadJS V11.2 正式推出,全面支持 React 和Vue,并提供了工作表区域偏移和 CSS 自定义分组等功能. 本次更新的主要内容有: SpreadJS 全面支持 React 和 Vue SpreadJS 现在支持与 React

Android学习笔记--design包下的两个控件

今天学习了design包下的两个控件,记录一下,首先需要我们依赖 1 compile 'com.android.support:design:25.0.0' 之后在XML文件中就可以使用了 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 x

前端心得---仿IOS拾取器控件(转轮控件)

希望做一个类似IOS拾取器的控件,在IOS上该控件的效果是这样的:,我也把该效果称之为为轮子效果. 要实现这个效果,能够用到的技术点非常简单,无非是transform的translate3d和rotate,不过要想很好的实现,还要建立一个精确的数学模型,来解决如何[摆放]的问题.特别是这个效果不是静态的,需要满足鼠标滑动的时,这个轮子要转起来,这就需要仔细思索了.当然,在最开始重点还是要搞清楚自变量是什么.因变量是什么.它们之间的关系是什么以及该需求的一些性质.找到了好的性质,可以减轻工作量,并

Delphi下使用Oracle Access控件组下TOraSession控件链接

Delphi下使用Oracle Access控件组下TOraSession控件链接数据库,使用  orsn1.Options.Direct:=true;  orsn1.Server:=IP:Port:SID;  orsn1.Username:=UserName;  orsn1.Password:=PassWord;  orsn1.Connect; 即可链接成功,这是使用SID方式链接的.但如果登陆数据库使用服务名方式,程序死活链接不上,原因,说是因为Delphi ODAC与Oracle RACD

前端笔记——如何控制表单控件中的disabled

0.前言 本文主要说明如何使能或禁止表单控件.表单控件具有disabled属性,通过设置该属性可以禁止所有的input控件,input的更多属性请参考资料[1].下面就通过一个简单的例子说明如何设置和读取disabled属性. [示例页面--代码] <!DOCTYPE html> <html> <head> <script src="jquery.js"></script> <meta charset="utf