flexigrid 学习总结
最近看到了一款flexigrid表格组件,简单美观,在下载使用的过程中,发现缺少很多功能。《基于jQuery的GridView-Flexigrid(2)-扩展和修复》给我带来了很大的帮助,而我在它的基础上也做了细节的调整,由于我在grid中保存了当前加载的数据源,以及每条数据的选中状态,所以以下方法,实现起来倒也简洁。下面针对功能简单做下说明:
1.增加获取选中行对应的Json数据,返回Json对象数组。
2.增加获取选中行的索引,返回数据。
3.增加选中指定行,不选中指定行等方法。
4.重写行绑定事件。在动态添加行时,会触发onRowDataBind事件,this指向行的dom对象,可以为行动态的绑定事件。
5.增加总行数和数据源的节点名称配置。该项主要是由于,其本身要求后台返回的数据格式为{total:0,rows:[]},与项目现状不兼容,故可以直接指定节点名称,加载数据。
6.增加数据源为Json对象数组的支持。该项主要是由于部分接口直接返回的数据源,无需总行数,故无需分页。
7.增加隐藏和显示grid方法。该项纯属项目需要,一份数组对应2种显示方式,我想公用一个翻页组件,故如此做。
8.重写reload事件,增加参数支持,可以在reload时通过改变属性配置达到修改条件得到修改后的数据源,或者加载指定页等。
让我们看看代码是怎么写的吧。首先是页面html代码
<div id="ptable" style="margin: 10px">
<table id="productlist"></table>
</div>
下面是Js配置部分
var option = {
height: "auto", //flexigrid插件的高度,单位为px
width: "auto",
url: '/Plugs/flexigrid/sample/Handler1.ashx', //ajax url,ajax方式对应的url地址
colModel: [
{ text: '商品编码', name: 'ProductID', width: 50, sortable: true, align: 'left', hide: true },
{ text: '商品名称', name: 'ProductName', width: 100, sortable: true, align: 'left' },
{ text: '规格', name: 'QuantityPerUnit', width: 120, sortable: false, align: 'center' },
{
text: '单价', name: 'UnitPrice', width: 100, sortable: true, align: 'right', render: function (value, row, data, index) {
return "index:" + index + " value:" + value;
}
},
{ text: '库存', name: 'UnitsInStock', width: 100, sortable: true, align: 'left' },
{ text: '已订购', name: 'UnitsOnOrder', width: 100, sortable: true, align: 'left' }
],
buttons: [
{
name: 'btn1', text: "获取选中行", bclass: 'Add', handler: function () {
var rows = $("#productlist").flexGetCheckedRows();
alert(rows.join());
}
},
{
name: 'btn2', text: "选中2", bclass: 'Delete', handler: function () {
$("#productlist").flexCheck(1);
}
},
{
name: 'btn3', text: '不选2和3', handler: function () {
$("#productlist").flexUnCheck([1, 2]);
}
},
{
name: 'btn4', text: '获取选中行数据', handler: function () {
var data = $("#productlist").flexGetCheckedData();
alert(JSON.stringify(data));
}
}, {
name: 'btn5', text: '显示隐藏Grid', handler: function () {
var p = window.op || 1;
if (p === 1) {
$("#productlist").flexHideGird();
window.op = 2;
} else {
$("#productlist").flexHideGird(false);
window.op = 1;
}
}
}, {
name: 'btn6', text: "重新加载(10)", handler: function () {
$("#productlist").flexReload({
newp: 10
});
}
}
],
totalProperty: "totalcount",
rowProperty: "data",
sortname: "ProductID",
sortorder: "asc",
title: "丰富的列表",
usepager: true,
useRp: false,
showcheckbox: true,
onRowDataBind: contextmenu
};
var grid = $("#productlist").flexigrid(option);
效果预览

flexigrid 学习总结的更多相关文章
- 【转】Spring.NET学习笔记——目录
目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔 ...
- Spring.NET学习
Spring.NET学习笔记——目录(原) 目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) ...
- Spring.NET学习笔记——目录(原)
目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔 ...
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Unity3d学习 制作地形
这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...
随机推荐
- Linux编译移植Qt5的环境_Xillinx的ZYNQ平台
Linux编译Qt环境 2017年的十一假期,足不出户,一个人在教研室里面搞Qt的移植.我手里面有Samsung的CortexA8,Samsung的 CortexA53还有Ti的Sitara系列的AM ...
- 数据库中where与having的区别
从整体声明角度分析: “where”是一个约束声明,在查询数据库结果返回之前对数据库的查询条件做一个约束,即返回结果之前起作用,“where”后面不能跟聚合函数: “having”是一个过滤声明,在查 ...
- 进入saftmode解决方案
Name node is in safe mode.The reported blocks 356 needs additional 2 blocks to reach the threshold 0 ...
- hash算法和常见的hash函数 [转]
Hash,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值. 这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能 会散列成相同的输出,而不 ...
- Start with PJSIP on windows
To overcome the project of HD video conferencing systerm,I should learn to use the PJSIP. I should m ...
- 剑指Offer - 九度1367 - 二叉搜索树的后序遍历序列
剑指Offer - 九度1367 - 二叉搜索树的后序遍历序列2013-11-23 03:16 题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出 ...
- DesiredCapabilities的作用
负责启动服务端时的参数设置,启动session的时候是必须提供的. Desired Capabilities本质上是key value的对象,它告诉appium server这样一些事情,比如: 本次 ...
- C编译器MinGW安装、下载及在notepad++中运行C程序
一.C编译器MinGW的下载及安装步骤 打开MinGW官网:http://www.mingw.org/ 图一 图二 图三 图四 图五 图六 系统中配置环境变量: 图七 验证是否安装成功: CMD中运行 ...
- mysql语法结构
环境:win7 64位.mysql 适合阅读者:对sql基本语法有一定了解 <建表语句>: create table <表名>( <列名> <类型> & ...
- 蓝桥杯_风险度量_dfs_无向图两节点间的所有路径
标题:风险度量 X星系的的防卫体系包含 n 个空间站.这 n 个空间站间有 m 条通信链路,构成通信网.两个空间站间可能直接通信,也可能通过其它空间站中转. 对于两个站点x和y (x != y), 如 ...