Angular表格神器ui-grid应用详解
本文实例为大家分享了Angular表格神器ui-grid的具体代码,供大家参考,具体内容如下
HTML: (代码仅用于解释得更清楚,并未完全展示)
<!doctype html> <html ng-app="app"> <head> <script src="http://ajax.googleapis./ajax/libs/angularjs/1.5.0/angular.js"></script> <script src="http://ajax.googleapis./ajax/libs/angularjs/1.5.0/angular-touch.js"></script> <script src="http://ajax.googleapis./ajax/libs/angularjs/1.5.0/angular-animate.js"></script> <script src="http://ui-grid.info/docs/grunt-scripts/csv.js"></script> <script src="http://ui-grid.info/docs/grunt-scripts/pdfmake.js"></script> <script src="http://ui-grid.info/docs/grunt-scripts/vfs_fonts.js"></script> <script src="/release/ui-grid.js"></script> <script src="/release/ui-grid.css"></script> <script src="app.js"></script> </head> <body> <div ng-controller="MainCtrl"> <div id="user-grid" ui-grid="gridOptions" class="user-grid" ui-grid-resize-columns></div></div> </div> </body> </html>
ui-grid-resize-columns:使列可以改变宽度,像这样:
Jvar app = angular.module('app', ['ngTouch', 'ui.grid']);
app.controller('MainCtrl', ['$scope', function ($scope) { i18nService.setCurrentLang("zh-"); $scope.gridOptions = { enableSorting: true, columnDefs: [ {field: 'aountName', displayName:'手机号', width: 200}, {field: 'userName', displayName:'用户名', width: 100}, {field: 'unitName', displayName:'单位', width: 300}, { field: 'createTime', displayName: '注册时间', width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span ng-bind="grid.appScope.rDateFormat(row.entity.createTime)"></span></div>' }, { field: 'roleList', displayName: '类型', width: 200, cellTemplate: '<div class="ui-grid-cell-contents"><span ng-repeat="item in row.entity.roleList" style="margin-right:5px;">{{item.roleName}}</span></div>' }, { field: 'aountId', displayName: '详细信息', width: 200, cellTemplate: '<div class="ui-grid-cell-contents"> <button type="button" ng-click="grid.appScope.showAountDetail(row.entity.roleList, row.entity.aountId)" style="line-height: normal" class="btn-primary btn">查看详情</button></div>' } ] }; $scope.gridOptions.data = [ { 'aountName':'15555555555', 'userName':'浮生若梦', 'unitName':'无', 'createTime':1506661676435, 'roleList':[{roleName:'前端','roleId':2},{roleName:'后端','roleId':3}], 'aountId':201 }, { 'aountName':'15555555555', 'userName':'浮生若梦', 'unitName':'无', 'createTime':1506661676435, 'roleList':[{roleName:'前端','roleId':2},{roleName:'后端','roleId':3}], 'aountId':201 } ] }]);
效果如下
ui-grid使用中文:i18nService.setCurrentLang("zh-");
设置ui-grid格式:通过html中的ui-grid='gridOptions' (gridOptions可以自己定义) 再通过$scope.gridOptions来绑定
在上面的代码中
enableSorting:定义是否排序
对于列的定义columnDefs中
field就是表格数据$scope.gridOptions.data中的字段,
displayName就是显示在表格中的显示的列项名,如果没有定义,那么显示的就是field的名称
ui-grid怎么单独定义一个单元格的样式?比如做成一个按钮。
可以使用cellTemplate属性,需要注意的是,单元格定义的html中如果要绑定函数,并不能像angular常规的来绑定,需要在绑定的函数前加上“grid.appScope”,比如“grid.appScope.func()”
ui-grid如果要将某行的某个数据传入函数中需要使用这样的形式“row.entity.createTime”,creatTime就是你要传入的参数的名称(对应于“field”)
表格的数据可以通过请求后端接口来获取,赋值给$scope.gridOptions.data,需要注意数据格式是否符合要求,否则就要先处理好。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程