[AngularJS] 插件ui-grid使用说明
uigrid的官网api需要翻墙,可以下载 https://github.com/angular-ui/ui-grid
api目录 misc->tutorial
基础指令
- 对表格进行操作
命令 | 解释 |
---|---|
ui-gird-pagination | 分页指令 |
ui-grid-selection | 选择 |
ui-grid-selection | 选择行 |
ui-grid-exporter | 导出 |
ui-grid-auto-resize | 解决grid布局 自动适应div 高度和宽度问题 |
- 对列进行操作
命令 | 解释 |
---|---|
ui-grid-resize-columns | 列宽拉伸指令 |
ui-grid-move-columns | 列移动指令 |
ui-grid-resize-columns | 保存当前表格的一些状态(非数据,但是需要保存的相关数据必须有对应的值) |
ui-grid-pinning | 固定列 |
- 对单元格进行操作
命令 | 解释 |
---|---|
ui-grid-edit | 编辑单元格 |
ui-grid-row-edit | 编辑单元格,扩展了ui-grid-edit功能以支持服务器对行的保存 |
ui-grid-cellnav | 对单元格进行上下左右键的操作(配合其他指令使用) |
- 其他
命令 | 解释 |
---|---|
过滤 | filter |
排序 | sort |
JS参数
//------------------列大小调整-------------------------enableColumnResizing: true //对表格列进行大小调整,默认为false//------------------列移动-----------------------------enableColumnMoving: true //对表格列进行移动//-----------------分页---------------------------------enablePagination: true, //是否分页,默认为truepaginationPageSizes: [10, 15, 20], //每页显示个数可选项,中间的数是每页显示的个数paginationPageSize: 10, //每页显示个数,会覆盖上面这个属性paginationCurrentPage:1, //当前页码,enablePaginationControls: true, //使用默认的底部分页enablePagerCount: flase //表格底部显示共几条,false不显示//-----------------保存表格状态------------------------可以使用 $scope.state = $scope.gridApi.saveState.save(); //保存当前表格状态$scope.gridApi.saveState.restore($scope,$scope.state); //用来恢复保存的表格状态//-----------------固定列--------------------------------enableHorizontalScrollbar: 1, //设置水平滚动轴,1表示显示,0不显示enableBerticalScrollbar: 1在columnDefs里面的相应数据设置pinnedLeft: true //设置左固定pinnedRight: true //设置右固定//-----------------编辑单元格----------------------------enableCellEdit = true //可以设置整体表格可以编辑,也可以对某一列进行设置//-----------------过滤----------------------------------enableFiltering = true // 是否支持过滤设置,默认为false不支持可以在columnDefs里面设置filter:{type: uiGridConstants.filter.SELECT,selectOptions: [{value: '全部',label: ''}, {value: '是',label: '是'}, {value: '否',label: '否'}]}
//----------------排序---------------------------------enableSorting : true可以在columnDefs里面设置相应的排序顺序和优先级sort: {direction: uiGridCounstants.DESC, //降序排序,ASC是升序排序priority: 0 //优先级设置}还可以设置sortingAlgorithm函数自定义排序算法的规则,不设置就根据ui-grid自己的排序规则看
//----------------选择--------------------------------enableRowHeaderSelection: true, //是否显示选中checkbox框 ,默认为truemultiSelect:true, //多行选择,默认为trueenableCheckNum: true, //checkNum: '(0)' //上面属性设置为true时,该属性显示的是选择列的个数enableSelectionBatchEvent : true, //默认trueisRowSelectable: function(row){ //GridRowif(row.entity.age > 45){row.grid.api.selection.selectRow(row.entity); // 选中行}}
报错
TypeError: angular.element(…).parents is not a function
angularJS需要jquery的支持,在angular前面引入jQuery
cellNav的解释
cellNav:cellNav的目的是用户可以选择一个单元格,然后使用键盘在网格中移动
custom editors:只有在enter,shift+enter,tab,shift_tab这些键触发的时候才能进行触发cellNav模式
deep edit: 当编辑子段获得焦点但是并没有进入编辑模式的时候,仍然允许使用左/右键使用cellNav.
因此deep edit近似于 editOnFocus 的折中方案
editOnFocus:选中单元格立即可编辑
行列处理器的重点是排序和确定列和行的可见性。
包括:排序和筛选(影响行的顺序和可见性)
分组行(添加额外的行,更改列的顺序和宽度)
固定(pinning)
cellNav:
注入: ‘ui.grid.cellNav’
在columnDefs上面为某一列定义
{ name: 'age', displayName: 'Age (not focusable)',allowCellFocus : false, width:'100' },
获取当前得到焦点的单元格 var rowCol = vm.gridApi.cellNav.getFocusedCell();
可以通过 rowCol.row.entity.属性 和 rowCol.col.colDef.属性 获取一些相应的值
获取当前选择的单元格 currentSelection = vm.gridApi.cellNav.getCurrentSelection();
是不是键盘读取事件需要自己判断的?
vm.gridOptions.onRegisterApi = function(gridApi){vm.gridApi = gridApi;gridApi.cellNav.on.navigate($scope, function(newRowCol, oldRowCol) {// var rowCol = {row: newRowCol.row.index, col:newRowCol.col.colDef.name};// var msg = 'New RowCol is ' + angular.toJson(rowCol);// if(oldRowCol){// rowCol = {row: oldRowCol.row.index, col:oldRowCol.col.colDef.name};// msg += ' Old RowCol is ' + angular.toJson(rowCol);// }$log.log('navigation event');});gridApi.cellNav.on.viewPortKeyDown($scope, function(event, newRowCol) {var row = newRowCol.row,col = newRowCol.col;if (event.keyCode === 39) {vm.gridApi.cellNav.scrollToFocus(row.entity, vm.gridApi.grid.columns[vm.gridApi.grid.columns.length - 1]);}});};
[AngularJS] 插件ui-grid使用说明相关推荐
- angularjs之UI Grid 的刷新 本地数据源及HTTP数据源
关键代码: 如果数据源是本地数据 $("#hidJsonData").val("[]"); var myJsonData = []; if ($(& ...
- AngularJs的UI组件ui-Bootstrap分享(六)——Tabs
tabs控件使用uib-tabset指令和uib-tab指令,效果是这样的: 1 <!DOCTYPE html> 2 <html ng-app="ui.bootstrap. ...
- 在ASP.NET MVC 4中使用Kendo UI Grid
Kendo UI 是Telerik推出的一套based on jQuery 的 Framework,提供了很多控件(Menu .Grid .Combox等...), 底层以Html5 + jQuery ...
- sublime安装AngularJS插件
sublime能够支持AngularJS开发那绝对是一件很爽的事情.下面我一步步讲解如何为sublime安装AngularJS插件. 1.添加控制包站点 根据你安装sublime 版本不同,在控制台写 ...
- coreldraw x8段落_CORELDRAW里落文本如何单独改变中文字符的高度 CDR文字转曲插件 CorelDrawX8的使用说明...
CORELDRAW里落文本如何单独改变中文字符的高度 CDR文字转曲插件 CorelDrawX8的使用说明 急!!请问:在CORELDRAW里段落文本如何单独改变中文字符的高度?请高手指教 急!!请问 ...
- VS进行Revit插件UI开发时缺少WPF项
最近看完了<Autodesk Revit二次开发基础教程>,但这本书对于插件界面开发毫无涉及,所以还是一片迷茫. 网上搜索了半天,提到了新建WPF(Windows Presentation ...
- JQuery布局插件UI layout的使用及说明
JQuery布局插件UI layout的使用及说明 UI layout 是一款主要针对于不同开发需求下的侧边栏插件,在他官方文档是首先对这款插件的定义是: 这个插件受extJS边框布局的启发,并将该功 ...
- kendo ui grid选中行事件,获取combobox选择的值
背景: 以前用 telerik ui做的grid现在又要换成kendo ui,不过说句实话kendo ui真的比telerik好多,可以说超级升级改头换面.当然用的mvc的辅助方法,以前的teleri ...
- Qt插件开发总结5--主界面嵌入插件UI
文章目录 一.前言 二.效果展示 三.嵌入插件UI 1.插件接口文件添加UI指针 2.插件子项目工程建立UI类 3.插件类中创建UI类.使UI指针指向创建的UI类 4.插件元信息中添加widget键值 ...
- Kendo UI Grid 用法详细整理
目录 一. kendo UI grid结构 结构实例 二. kendo UI grid常用属性 1.new kendo.data.DataSource()中常见属性: 2.$("#grid& ...
最新文章
- NFX UNISTACK
- JAVA 邮件发送工具类
- 前端每日实战:140# 视频演示如何用纯 CSS 创作文本的淡入动画效果
- 【模板】第二类斯特林数Stirling
- ZOJ - 2955 Interesting Dart Game(鸽巢原理+完全背包)
- java数据结构系列——排列(2):有序阵列
- Can you find it(HDU-5478)
- 12种方法让你踏上晋升快车道。
- Go -- 并发编程的两种限速方法
- 微软VC/MFC FAQ(转)
- 【转】编辑器与IDE
- 算法中的最优化方法_学习目录
- 有关彩票的python编程教程入门_python入门教程NO.6 用python做个简单的彩票号码统计分析工具...
- Radasm出现error LNK2001
- 百度地图api将可视区域定位到当前所在位置
- 卡马克快速平方根倒数
- mjpg-streamer本机安装与嵌入式移植
- 带动画效果的下拉菜单
- 悟空HRM人力资源系统正式开源发布
- STM32F1 HAL库读写SD卡的操作要点