使用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

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

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

    centos 5 _x86_64 oracle 11.2 安装grid之前检查配置 ,报错如下 : ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fi ...

  2. 转:Selenium Grid+JAVA +Windows 配置(Selenium 2.0)

    Selenium-Grid 允许你在多台机器的多个浏览器上并行的进行测试,也就是说,你可以同时运行多个测试.本质上来说就是,Selenium-Grid 支持分布式的测试执行.它可以让你的测试在一个分布 ...

  3. jquery widgets grid 重置列配置

    $("#jqxGridByAttendanceDetail").on("bindingcomplete", function (event) { // your ...

  4. ExtJs的Ext.grid.GridPanel不能选择复制表格中的内容解决方案

    今天遇到grid复制的问题,在网上找到了一个解决办法,只需改下CSS和JS,给大家分享一下: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dy_paradise/a ...

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

    有时候需求需要默认加载表格的时候把子表格的数据也显示出来,经过研究相关SubGrids API配置如下: 属性 类型 描述 默认值 subGrid boolean 设置为true启用子表格.如果启用子 ...

  6. 64. Extjs中grid 的ColumnModel 属性配置

    转自:https://blog.csdn.net/u011530389/article/details/45821945 本文导读:Ext.grid.ColumnModel 该类用于定义表格的列模型, ...

  7. 如何在SimpleNVR用Excel表格将通道配置简单化

    进入本世纪的第三个十年,流媒体们"绞尽脑汁",依靠技术不断提升用户的体验感.熟悉SimpleNVR的用户都知道,目前SimpleNVR已实现对接自有流媒体服务器平台,不限制观看人数 ...

  8. Sencha ExtJS 6 Widget Grid 入门

    最近由于业务需要,研究了一下Sencha ExtJS 6 ,虽然UI和性能上据相关资料说都有提升,但是用起来确实不太顺手,而且用Sencha cmd工具进行测试和发布,很多内部细节都是隐藏的,出了问题 ...

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

    一.编辑单元格 Ext 中通过配置表格的属性 plugins 来设置表格是否可编辑, 表格的配置具体如下: var gridTable = Ext.create('Ext.grid.Panel', { ...

随机推荐

  1. NFS迁移

    Auth: Jin Date: 20140317 需求将NFS共享IP切换为192.168.201.221,通过192.168.201.0网段提供共享(10.0.0.0和192.168.201.0都能 ...

  2. Android内存优化9 内存检测工具3 MAT比Menmery Monitor更强大

    在Android性能优化第(一)篇---基本概念中讲了JAVA的四大引用,讲了一下GCRoot,第二篇Memory Monitor检测内存泄露仅仅说了Menmery Monitor的使用,这篇博客谈一 ...

  3. cocos2d-x 3.0 CCTime 的改动

    在cocos3.0 中,去掉了CCTimer这个类. 我们须要把之前的代码改动为 定义时间的变量是 struct  timeval  start 1.获取时间的方式是: gettimeofday(&a ...

  4. python中在ubuntu中安装虚拟环境及环境配置

    python中在ubuntu中安装虚拟环境及环境配置 1.升级python包管理工具pip pip install --upgrade pip 备注:当你想升级一个包的时候 `pip install ...

  5. Vue-router路由基础总结(一)

    一.安装 npm下载:npm install vue-router 如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装路由功能:在你的文件夹下的 src 文件夹下的 main.j ...

  6. J2EE,LAMP和ASP.NET三者比较

    为了开发一个动态网站出来,有3中选择,三种选择是一种三足鼎立的一种状态:LAMP   J2EE  .NET,各有各的好,下面自己总结一下 1.ASP.NET ASP.NET 的开发框架是 Window ...

  7. Linux内核源码情景分析-系统调用

    一.系统调用初始化 void __init trap_init(void) { ...... set_system_gate(SYSCALL_VECTOR,&system_call);//0x ...

  8. 从外部重置一个运行中consumer group的消费进度

    对于0.10.1以上版本的kafka, 如何从外部重置一个运行中的consumer group的进度呢?比如有一个控制台,可以主动重置任意消费组的消费进度重置到12小时之前, 而用户的程序可以保持运行 ...

  9. python中的socket服务器(多线程)

    最近在写一个客户端和服务器的项目,使用了SocketServer模块,网上大多数都是TCP连接的例子,我在这总结一个UDP. 直接贴上代码 import threadingimport SocketS ...

  10. Android 底部TabActivity(1)——FragmentActivity

    先看看效果图: 第一篇Tab系列的文章首先实现这样的风格的底部Tab:背景条颜色不变,我们是用了深灰的颜色,图标会发生对应的变化.当选中某个标签后该标签的背板会由正常的颜色变为不正常,哈哈,是变为加深 ...