詳解能在多種前端框架下使用的表格控件
近幾年Web前端框架特別流行,比如AngularJS、AngularJS 2、ReactJS、KnockoutJS、VueJS等。表格控件是我們?cè)陂_發(fā)中經(jīng)常要用到的控件。有沒有能夠在多種前端控件下都能使用的表格控件?最近研究發(fā)現(xiàn)Wijmo中的FlexGrid是一款不錯(cuò)的表格控件,它能支持很多主流的框架。這里主要介紹在純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" /> <!-- 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、 定義一個(gè)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方法根據(jù)傳入的Count產(chǎn)生數(shù)據(jù)。
FlexGrid.js:
(function (wijmo, data) { var cv = data.getData(30); var grid = new wijmo.grid.FlexGrid('#grid'); grid.itemsSource = cv; })(wijmo, appData);
在FlexGrid.js中調(diào)用data.getData(30)獲取數(shù)據(jù)30個(gè)數(shù)據(jù)。獲得FlexGrid控件,并進(jìn)行數(shù)據(jù)綁定。
下面就是運(yùn)行結(jié)果:
二、在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相關(guān)的文件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指令定義表格,并設(shè)置數(shù)據(jù)源
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); });
其運(yùn)行結(jié)果和純JS的結(jié)果完全一樣。
通過上面的兩個(gè)示例可以看到無(wú)論是在純JS中還是在AngularJS中使用FlexGrid都非常簡(jiǎn)單。尤其是在AngularJS框架中通過Wijmo自定義的Angular指令wj-flex-grid使用表格控件很容易。Wijmo支持AngularJS、AngularJS 2、ReactJS、KnockoutJS、VueJS、Ionic等前端框架,就不在一一示例。FlexGrid的功能包括排序、過濾、分組、分頁(yè)、單元格合并、凍結(jié)、格式化、條件樣式、單元格模板、主題、樹形結(jié)構(gòu)等。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
- Android自定義DataGridView數(shù)據(jù)表格控件
- 在web中js實(shí)現(xiàn)類似excel的表格控件
- 最棒的Angular2表格控件
- ASP.NET Table 表格控件的使用方法
- 左側(cè)是表頭的JS表格控件(自寫,網(wǎng)上沒有的)
- Android自定義表格控件滿足人們對(duì)視覺的需求
- jquery miniui 教程 表格控件 合并單元格應(yīng)用
- JQuery FlexiGrid的asp.net完美解決方案 dotNetFlexGrid-.Net原生的異步表格控件
- ExtJS 配置和表格控件使用
- javascript表格控件:Chgrid,簡(jiǎn)化型
相關(guān)文章
javascript獲取和判斷瀏覽器窗口、屏幕、網(wǎng)頁(yè)的高度、寬度等
這篇文章主要介紹了javascript獲取和判斷瀏覽器窗口、屏幕、網(wǎng)頁(yè)的高度、寬度等,需要的朋友可以參考下2014-05-05mpvue實(shí)現(xiàn)小程序簽到金幣掉落動(dòng)畫(api實(shí)現(xiàn))
這篇文章主要介紹了mpvue實(shí)現(xiàn)小程序簽到金幣掉落動(dòng)畫,這里使用小程序自帶的api來實(shí)現(xiàn),文中通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-10-10用javascript做一個(gè)webgame連連看大家看下
2008-01-01