Angular表格神器“ui-grid”的应用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Angular表格神器“ui-grid”的应用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3354字,纯文字阅读大概需要5分钟。
内容图文
HTML: (代码仅用于解释得更清楚,并未完全展示)
<! doctype html > < html ng-app ="app" > < head > < script src ="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js" ></ script > < script src ="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-touch.js" ></ script > < script src ="http://ajax.googleapis.com/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-cn"); $scope.gridOptions = { enableSorting: true, columnDefs: [ {field: ‘accountName‘, 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: ‘accountId‘, displayName: ‘详细信息‘, width: 200, cellTemplate: ‘<div class="ui-grid-cell-contents">
<button type="button"
ng-click="grid.appScope.showAccountDetail(row.entity.roleList, row.entity.accountId)"
style="line-height: normal" class="btn-primary btn">查看详情</button></div>‘ } ] };
$scope.gridOptions.data = [
{
‘accountName‘:‘15555555555‘,
‘userName‘:‘浮生若梦‘,
‘unitName‘:‘无‘,
‘createTime‘:1506661676435,
‘roleList‘:[{roleName:‘前端‘,‘roleId‘:2},{roleName:‘后端‘,‘roleId‘:3}],
‘accountId‘:201
},
{
‘accountName‘:‘15555555555‘,
‘userName‘:‘浮生若梦‘,
‘unitName‘:‘无‘,
‘createTime‘:1506661676435,
‘roleList‘:[{roleName:‘前端‘,‘roleId‘:2},{roleName:‘后端‘,‘roleId‘:3}],
‘accountId‘:201
}
]
}]);
效果如下:
ui-grid使用中文:i18nService.setCurrentLang("zh-cn");
设置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,需要注意数据格式是否符合要求,否则就要先处理好。
原文:http://www.cnblogs.com/maderlzp/p/7610677.html
内容总结
以上是互联网集市为您收集整理的Angular表格神器“ui-grid”的应用全部内容,希望文章能够帮你解决Angular表格神器“ui-grid”的应用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。