原文链接http://www.lovejavascript.com/#!zone/blog/content.html?id=9
插件首页:http://www.lovejavascript.com/#!plugIn/listManager/index.html
首先介绍一下该插件的使用场景和实现功能
使用场景
适用于管理平台的数据展示列表,通过该插件可以更简约的实现一些前端交互及与列表相关的功能实现。
功能实现
1、列项的宽度调整
2、列位置的顺序调整
3、列的展示与隐藏
4、本地存储机制,插件会对用户已经调整的宽度、列的展现状态等信息进行存储,再次进入时会根据存储
5、根据列进行排序,支持单列与多列的排序
6、分页功能,含常用的分页功能
7、国际化,默认支持中英文两种语言,可通过配置项进行其它语种的设定。进行回显。
以上的介绍可能过于文字化,接下来依次对这些功能进行code展示。
最简易的实现
$('table').listManager();
对的,就是这么简单的一句代码就可以实现刚才功能介绍中所示的1-4项。
这四项都是插件默认支持的项,其它项则需要借助于配置项。
配置项介绍:
配置分为两种;具体的参数项请参考http://www.lovejavascript.com/#!plugIn/listManager/index.html中的参数说明。
针对于单表的配置:以参数传递的形式进行配置。
ex: $('table').listManager({i18n: 'en-us'})
针对于全局表格的配置:通过全局配置变量listManagerConfig或$.fn.listManager.defaults进行设定。
ex: window.listManagerConfig = {i18n: 'en-us'};
ex: $.fn.listManager.defaults = {i18n: 'en-us'};
功能介绍中的前四项为纯粹的前端特效,后三项为存在数据交互,正因为这种差异,后三项需要进行配置才可以使用。 下面进行分别介绍
国际化实现:
国际化相对于前四项的纯前端特效而言,需要进行一些简单的配置。
通过参数i18n进行配置使用的语种,默认使用的是中文简体
通过textConfig配置插件中的文本信息及各语种所对应的文字,自带中文简体与美式英语两个语种的文本。
如仅需要中英两种语种,只需对参数i18n进行配置即可。
如需扩展可对textConfig进行配置,textConfig所支持的默认项如下,依照默认项的格式进行配置将会对默认项进行覆盖。
ex: $('table').listManager({
i18n: 'en-us',
'config-action': {
'zh-cn':'配置表格',
'en-us':'The configuration form'
}
,'first-page': {
'zh-cn':'首页',
'en-us':'first'
}
,'previous-page': {
'zh-cn':'上一页',
'en-us':'previous'
}
,'next-page': {
'zh-cn':'下一页',
'en-us':'next '
}
,'last-page': {
'zh-cn':'尾页',
'en-us':'last '
}
,'dataTablesInfo':{
'zh-cn':'此页显示 {0}-{1} 共{2}条',
'en-us':'this page show {0}-{1} count {2}'
}
,'goto-first-text':{
'zh-cn':'跳转至',
'en-us':'goto '
}
,'goto-last-text':{
'zh-cn':'页',
'en-us':'page '
}
});
分页功能实现:
分页功能默认处于关闭状态,通过参数supportAjaxPage:true进行开启,除止之外还需要配置pageCallback,通过参数名称就可以看出来这是在触发分页后的一个回调函数,当然也可以叫做分页事件。该配置项接收分页事件,在这个函数中会传入一个参数,该 参数包含一些必要的分页信息。
具体配置如下:
ex: $('table').listManager({
supportAjaxPage: true,
pageCallback: function(query){
//query 中包含当前的分页信息:cPage(当前页),pSize(每页显示条数)
//在该callback中 对列表数进行重新请求 并对列表及分页进行数据重填
//1、请求后端数据
// $.ajax() ....
//2、列表数据重填
var thtml = ''; //拼装好的数据
var _tbody = $('table tbody');
_tbody.html(thtml)
//3、分页数据重新渲染
this.resetPageData(table, pageData);
/*
其中pageData,需要通过返回数据进行设置,存在四个值,如下所示:
pageDate = {
tPage: 10,//总页数
cPage: 1,//当前页
pSize: 10,//每页显示条数
tSize: 100//总条数
}
*/
}
});
排序功能实现:
排序与分页类似,不再进行描述,配置如下:
ex: $('table').listManager({
supportSorting: true,
isCombSorting: true,
sortUpText:'up', //配置升序排序的文本信息
sortDownText:'down', //配置降序排序的文本信息
sortingCallback: function(query){
//query 中包含当前的排序信息
//格式为{th-name: sortUpText/sortDownText} th-name为th上配置的th-name,
//在该callback中 对列表数进行重新请求 并对列表及分页进行数据重填
//1、请求后端数据
// $.ajax() ....
//2、列表数据重填
var thtml = ''; //拼装好的数据
var _tbody = $('table tbody');
_tbody.html(thtml)
//3、分页数据重新渲染
this.resetPageData(table, pageData);
/*
其中pageData,需要通过返回数据进行设置,存在四个值,如下所示:
pageDate = {
tPage: 10,//总页数
cPage: 1,//当前页
pSize: 10,//每页显示条数
tSize: 100//总条数
}
*/
}
});
相关推荐
但当使用Manager处理list、dict等可变数据类型时,需要注意一个陷阱,即Manager对象无法监测到它引用的可变对象值的修改,需要通过触发__setitem__方法来让它获得通知。 而触发__setitem__方法比较直接的办法就是...
kube-controller-manager配置详解.md kube-scheduler配置详解.md kube-proxy配置详解.md kubelet配置详解.md kubectl命令行参考.md 配置踩坑笔记.md Kubernetes 扩展机制 CNI CNI工作机制.md cnitool使用方式.md ...
A list of configuration files automatically loaded by Struts struts自动加载的一个配置文件列表 struts.configuration.xml.reload Whether to reload the XML configuration or not 是否加载xml配置(true,...
如下所示: public static boolean isSdcardExists(Context ... List<VolumeInfo> volumes = storageManager.getVolumes(); for (VolumeInfo volInfo : volumes) { DiskInfo diskInfo = volInfo.getDisk(); if (dis
第4章 List View使用技巧 65 4.1 List View常用优化技巧 66 4.1.1 使用View Holder模式提高效率 66 4.1.2 设置项目间分隔线 68 4.1.3 隐藏List View的滚动条 68 4.1.4 取消List View的Item点击效果 68 4.1.5 ...
sudo sh -c 'echo deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main > /etc/apt/sources.list.d/dotnetdev.list' sudo apt-key adv --keyserver hkp://keyserver.ubuntu....
代码如下:protected void Page_Load(object sender, EventArgs e) {...IsPostBack) { IList<LYZX> list = GetList(System.Configuration.ConfigurationManager.ConnectionStrings[“ConnStr”].ConnectionString,
7.2.4 参数列表(Parameter List) 159 7.2.5 方法体(Method Body) 160 7.2.6 方法串串烧 160 7.3 方法的参数:让汽车加速 161 7.3.1 方法的参数:让汽车可以加速 161 7.3.2 带参数的方法有何不同? 162 ...
7.2.4 参数列表(Parameter List) 159 7.2.5 方法体(Method Body) 160 7.2.6 方法串串烧 160 7.3 方法的参数:让汽车加速 161 7.3.1 方法的参数:让汽车可以加速 161 7.3.2 带参数的方法有何不同? 162 ...
STM32的DFU文件生成方详解 第一步,准备好要转换的文件,bmp和wav格式,ST原版的DEMO就是这两种格式,后缀改为.bin(也可不改,只是选文件类型过滤选ALL Files(*.*)). 第二步,运行DFU File Manager,选择第一项(I ...
对于基于文件的数据源,例如shape文件或coverages,既可以使用UPPER函数,也可以使用LOWER函数。 例如下面这个查询将选出那些姓名的最后为Jones或JONES的顾客。 UPPER("LAST_NAME") = 'JONES' 可以用LIKE运算符...
1. 介绍.........................................................................................................18 1.1. 关于本书...........................................................................
1. 介绍.........................................................................................................18 1.1. 关于本书..........................................................................