Angular表格神器ui-grid应用详解
发布时间 - 2026-01-11 03:29:10 点击率:次本文实例为大家分享了Angular表格神器ui-grid的具体代码,供大家参考,具体内容如下

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,需要注意数据格式是否符合要求,否则就要先处理好。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Angular
# 表格
# ui
# grid
# angularjs实现table表格td单元格单击变输入框/可编辑状态示例
# AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
# AngularJS中table表格基本操作示例
# Angular将填入表单的数据渲染到表格的方法
# AngularJS实现表格的增删改查(仅限前端)
# 基于angular实现树形二级表格
# 绑定
# 浮生若梦
# 后端
# 需要注意
# 单元格
# 的是
# 注册时间
# 你要
# 可以通过
# 如果没有
# 可以使用
# 要将
# 在上面
# 要先
# 大家分享
# 具体内容
# 能像
# 大家多多
# 查看详情
# 是否符合
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
简历没回改:利用AI润色让你的文字更专业
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
济南网站建设制作公司,室内设计网站一般都有哪些功能?
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
如何在云主机上快速搭建多站点网站?
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
如何做网站制作流程,*游戏网站怎么搭建?
Python进程池调度策略_任务分发说明【指导】
如何在IIS7上新建站点并设置安全权限?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
详解阿里云nginx服务器多站点的配置
米侠浏览器网页背景异常怎么办 米侠显示修复
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
Java解压缩zip - 解压缩多个文件或文件夹实例
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
如何基于云服务器快速搭建个人网站?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
Java类加载基本过程详细介绍
教学论文网站制作软件有哪些,写论文用什么软件
?
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
BootStrap整体框架之基础布局组件
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
如何在阿里云域名上完成建站全流程?
js代码实现下拉菜单【推荐】
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
如何快速搭建二级域名独立网站?
Laravel怎么连接多个数据库_Laravel多数据库连接配置
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
Swift开发中switch语句值绑定模式
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
如何快速重置建站主机并恢复默认配置?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何快速查询网站的真实建站时间?
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
如何用JavaScript实现文本编辑器_光标和选区怎么处理
Thinkphp 中 distinct 的用法解析
Laravel如何自定义错误页面(404, 500)?(代码示例)
如何在VPS电脑上快速搭建网站?
再谈Python中的字符串与字符编码(推荐)
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧

