使用ng-grid实现可配置的表格

使用Angularjs在带来方便的同时,也有一些遗憾:很多基于jquery或其它的组件,在angularjs中需要集成一下才能用得流畅。但是一些比较复杂的组件,集成起来的工作量相当大,比如说grid。

大多数情况下,使用angularjs可以方便地实现简单的表格,甚至点击修改这样的功能也很容易。但是如果还希望增加更多的功能,比如拖动改变列的前后顺序,点击表头排序,拖动列宽度,隐藏某些列时,就不那么容易了。如果还想加上分组的功能,那就十分麻烦了。这时候我们就需要一个与angularjs配合很好的grid组件。

这几天我试用了http://angular-ui.github.com/ng-grid/,它完全是基于angularjs写的,所以可以使用angularjs的思路与它交互。使用感觉还不错,基本功能齐全,与之交互实现需要的效果也很顺畅。我用它简单地实现了一个表格设计器,在这里演示一下。

我实现的功能如下:

  1. 指定数据源后,可打开表格设计器,定制每一列的表头,添加删除列,调整列顺序等
  2. 可取出调整后的参数,保存在服务器中
  3. 在正式使用的表格中,可读取之前设计好的参数,直接使用

因为该项目的文档和示例写得比较好,而且当前还在紧张改进之中,所以我在这里不详细介绍如何使用,主要来演示效果。想使用的朋友可以上项目主页看,有问题在issues里提,作者回复很快很热心。

http://ju.outofmemory.cn/entry/12828

时间: 2024-10-14 07:06:47

使用ng-grid实现可配置的表格的相关文章

ExtJS4.2 Grid知识点四:改变表格Grid行文字颜色,划过Grid行时文字变粗

在ExtJS4.2 Grid知识点一:改变表格Grid单元格文字颜色一文中讲解了如何改变单元格中文字颜色,接下来在本章学习如何改变Grid中整行文字的颜色,这样就不需要为每列单独定义renderer函数,显示结果如图片: 在线演示  /  示例代码 实现方式是在Grid中设置viewConfig属性的getRowClass函数,函数参数列表如下: record: 当前待渲染行数据Model,类型为:Ext.data.Model rowIndex: 当前待渲染行数,类型为:Number rowPa

ExtJS4.2 Grid知识点三:改变表格Grid单元格背景颜色

在ExtJS4.2 Grid知识点一:改变表格Grid单元格文字颜色一文中讲解了如何改变单元格中文字颜色,接下来在本章学习如何改变Grid中单元格的背景颜色,显示结果如图片: 在线演示  /  示例代码 实现方式同样是为Grid中该列自定义renderer函数,查询ExtJS 4.2 API得知,Ext.grid.column.Column的renderer属性可以是一个函数也可以是字符串,这个知识点是通过函数来实现的.函数参数列表如下: value : 当前待渲染的单元格值,即表格中某行某列的

安装grid之前检查配置 ,报错如下

安装grid之前检查配置 ,报错如下 : ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose Performing pre-checks for cluster services setup Checking node reachability... Check: Node reachability from node "rac1"  Destination Node                      R

Essential Grid for ASP.NET MVC表格控件详细介绍及下载

Essential Grid for ASP.NET MVC是一款轻量级的,支持AJAX的,高性能的表格控件,完全支持ASP.NET MVC框架,具有丰富的功能,包含分组.排序.翻页.数据绑定.编辑.过滤.多种内嵌皮肤,可以处理上亿的数据量. 具体功能: 支持对一列或多列数据进行分组 支持单行.列.多行选择 支持通过拖拉操作调整列大小.改变列位置 支持Unbound列 当表格数据有几页时,控件提供了一个页导航条,可用于定位某页或是翻页 支持过滤操作 支持绑定到复杂的数据对象 支持导出数据到Exc

jqGrid subGrid配置 如何首次加载动态展开所有的子表格

有时候需求需要默认加载表格的时候把子表格的数据也显示出来,经过研究相关SubGrids API配置如下: 属性 类型 描述 默认值 subGrid boolean 设置为true启用子表格.如果启用子表格,在父表格的左边会添加附加的列.此列包含一个“加”图片表示用户可以点击它展开行,默认所有行的子表格是收缩的. false subGridOptions object 子表格的配置,下面为配置的默认值 -收缩JavaScript代码 {plusicon : "ui-icon-plus",

ExtJS4.2 Grid知识点五:多选行(可以点击行选中记录与只能点击多选框选中记录)

本节主要学习ExtJS4.2 Grid多选行知识,示例图片: 在线演示  /  示例代码 主要内容如下: 可以点击行选中记录与只能点击多选框选中记录 选中Grid中数据加载到Form 获取Grid中多行数据,生成JSON格式 1.可以点击行来选中记录,此时多选Grid只需要配置selType: 'checkboxmodel',此时有一个缺陷,当你通过多选框勾选多条记录时,如果不小心点击某行,则当前点击行被选中,其它选中的记录行都被取消选择了. 2.只能点击多选框选中记录,此时多选Grid需要配置

ext:grid分页,列宽度自动填满grid宽度

var cm = new Ext.grid.ColumnModel([{      header : '编号',      dataIndex : 'id'     }, {      header : '名称',      dataIndex : 'name'     }, {      header : '描述',      dataIndex : 'descn'     }]);   var store = new Ext.data.Store({      proxy : new Ext

EXTJS 4.2 资料 控件之Grid 那些事

最近在学习Extjs4.2 ,积累文章,看得不错,再此留年: //表格数据最起码有列.数据.转换原始数据这3项 Ext.onReady(function(){ //定义列 var columns = [ {header:'编号',dataIndex:'id',width:50}, //sortable:true 可设置是否为该列进行排序 {header:'名称',dataIndex:'name',width:80}, {header:'描述',dataIndex:'descn',width:11

编辑 Ext 表格(二)——— 编辑表格元素

一.编辑单元格 Ext 中通过配置表格的属性 plugins 来设置表格是否可编辑, 表格的配置具体如下: var gridTable = Ext.create('Ext.grid.Panel', { id: 'gridTable', region: 'center', layout: 'fit', columns: cols, store: gridStore, autoScroll: true, selModel: {  // 光标显示的是单元格模式 selType: 'cellmodel'