最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

ecology开发之分页控件

底层代码 bron1984 2977浏览
组件 分页控件 备注
功能说明 基于java自定义标签和jQuery开发的分页组件,其特点如下:
1、ajax获取列表数据;
2、支持自定义每页显示记录数;
3、支持自定义显示列(结合显示列定制组件);
4、支持表头排序功能;
5、支持数据库和自定义数据源两种形式的数据获取;
6、支持简易报表统计及百分数图形化显示;
7、支持在线编辑数据;
8、支持列表和缩略图两种显示方式;
9、支持列数据自定义显示;
10、支持操作列浮动显示及根据条件决定是否显示某操作按钮;
11、支持根据条件决定是否显示checkbox和radio。
使用说明 1.引入这个tagLib
<%@ taglib uri=”/WEB-INF/weaver.tld” prefix=”wea”%>
2.先定义一个Xml的table的String
 

3.在需要产生表格的地方加入如下taglib标签

<wea:SplitPageTag  tableInstanceId=””  tableString=”<%=tableString%>”  mode=”run” selectedstrs=”” tableInfo=”ok ,this info!”  showExpExcel="true" />
isShowTopInfo: 表示的是,是否也在页面顶部显示分页的信息,默认为 “true”
4.运行后的效果图如下:

 

例子 例子:/workflow/search/WFSearchResult.jsp
报表支持:http://192.168.4.44:8080/docs/report/DocRpCreaterNew.jsp
可编辑分页列表:http://192.168.4.44:8080/web/webmagazine/DocWebTab.jsp?_fromURL=3&id=3
组件初始化参数 是否必须 类型 描述
Table 的属性(完全支持html中table的标签 下面只是一些特别的属性)
name  string 表格的名字(如: xtesttable)
_instanceid  string 表格的instanceid(主要与SplitPage.xml中的instanceid对应)
_tabletype  string 此表的类型(1.checkbox (多选) 2.radio    (单选)   3.none  (默认值) 4. thumbnail(缩略图显示)5.officalDoc(公文))
firstAddRow string 将此值设置为true,则会在列表的第一行增加一个空行,用于自定义数据。
_pagesize  string 每页的显示条数(如 :10) 获取pagesize的方法:
PageIdConst.getPageSize(pageId,userId [,mouldId])
最后一个参数mouldId是为了兼容老数据的自定义设置而给定的。
needPage string true|false,设置为false时,不显示分页的信息。
datasource  string 需要获取数据的数据源(用于非数据库查询分页的数据源)
应为java类的全路径限制+方法名
如:weaver.docs.docs.DocDataSource.getNoReadLog
方法getNoReadLog传递的参数为4个:
User user,
Map<String,String> sourceparams,
HttpServletRequest request,
HttpServletResponse response
sourceparams  string 配合datasource使用,用于传递数据源必要的参数,以+分隔多参数,以:分隔key和value。
如:id:79+userid:1+usertype:0,方法中使用:
params.get(“id”)   params.get(“userid”)  params.get(“usertype”)获取值
pageBySelf string 配合datasource使用,用于控制是否由开发人员来控制分页,默认由系统组件分页。设置为true时由开发人员控制分页处理。 使用方式:
1、在table节点上设置属性pageBySelf=\”true\”;
2、分页控件会把pageSize(每页数量)、pageIndex(当前页数)、countColumns(需要统计的列,用于报表统计)通过otherparams传递个自定义方法;
3、自定义方法返回一个Map<String,Object>对象回来map对象包括:
1、recordCount   总记录数;
2、countCV   统计列的结果,Map<String,String>,可参考SplitPageUtil.java中的setCountCVMap实现,或者直接调用其中的方法;
3、dataAll  分页记录,List<Map<String,String>>
cssHandler string 用于标志背景色,用于区分记录的不同状态,如流程的超时、新建、反馈等状态
csspara string 配合cssHandler使用,用于传递额外的参数,使用方式同otherpara的用法。
sql的属性(仅支持以下属性)
_backfields  string 从数据库中返回的字段名称(如: t1.requestid, t1.createdate, t1.createtime)
_sqlfrom  string from后面至where前面的子句
_sqlwhere  string where后面至group by前面的子句
_sqlgroupby  string group by后面至order by前面的子句
_sqlorderby  string  order by 子句
_sqlsortway  string  表格的排序方式
_sqlprimarykey  string 此表中所需的主键
_sqlisdistinct  string 是否排除重复操作
sumColumns string 需要合计的列名,必须与col列中的列名一致,有多个需要统计的列的话以,分隔。(如:doccount,notreplydoccount,replydoccount) 该属性用于报表支持
showCountColumn String 是否显示合计列,默认为true。【取值true|false】
decimalFormat String 格式化合计结果,多个以|分隔,如:%.2f|%.2f
browser 的属性(此标签主要用于在类似系统中的browser框时使用)
_returncolumn  string 指定返回值的列 (如: name)
_transmethod  string 需要进行转换的类(如:weaver.general.WorkFlow.getWFDegree)
(注:所有写的transmethod 的类其返回值必须是String类型 )
checkboxpopedom的属性(此标签主要用于控制checkbox 框是否可用)
_showmethod  string 是否显示控件的方法(返回字符串值:“true”或者“false”)(如:weaver.general.WorkFlow.getWFDegree)
_popedompara  string 传入的参数(如果是某一列则为column:XXX)
col的属性((完全支持html中TD的标签 下面只是一些特别的属性)
_align  string 列的对齐方式 如: (默认为:left)
_name  string 此列的名称 如: name
_text  string 列标题 (1.checkbox (多选) 2.radio    (单选)   3.none  (默认值))
_column  string 对应的sql值列(必填项)
_orderkey  string 排序时的关键字 (默认为column的值)
_linkvaluecolumn  string 链接的取值的列(默认为当前列的值)
_linkkey  string 链接的关键字(默认为column的值)
_href  string 键接的网址 (如:/docs/docs/DocDsp.jsp)
_target  string 键接目标(如:_self ,_blank…)加上一个 _fullWindow
_transmethod  string 转换时的类+方法名 (如:_self ,_blank…)加上一个 _fullWindow 如果该列为百分数显示列,那么该方法应该返回颜色值
_otherpara  string 传入的第二个参数(如:_self ,_blank…)加上一个 _fullWindow
display string 该列是否默认显示。如果设置为false,则该列默认不显示。数据不会输出到客户端
hide string 该列是否隐藏。设置为true,则在前端隐藏。数据输出到客户端后隐藏
labelid string 该列表头的标签ID,同text属性中使用的labelid,多个labelid用,分隔即可。
editPlugin  string 绑定可编辑控件的数据类型
editEnableMethod string 用于可编辑列表中控制该行记录的该列字段是否可编辑,用法同showmethod(返回字符串值:“true”或者“false”)(如:weaver.general.WorkFlow.getWFDegree),第一个参数为该列的值
editpara string 配合editEnableMethod使用,作为第二个参数传递,用法同otherpara。
algorithmdesc string 占比列的算法描述,如:占比=文档数量/总计 这3个属性用于报表支持
molecular string 占比列中用于分子的列,如:doccount
denominator string 占比列中用于分母的列,如:sum:doccount
注:如果加了sum:前缀,那么将会对该列进行相加计算后的结果作为分母,如果不加sum:,那么仅该列作为分母
showaspercent string 该列是否显示为进度条模式,默认为false
bgcolor string 传递进度条显示的填充颜色值,十六进制代码,如#efefef 该属性仅用于百分数显示的列
pkey string 该列的主键,唯一标识。一旦确定,之后修改列信息时不能修改。
支持的可编辑组件说明(editPlugin属性)
type string 控件类型:
l 文本框(input)
l 下拉框(select)
l多选框 (checkbox)
l单选框 (radio)
l 浏览按钮(browser)
隐藏文本框(hidden)
密码框(password)
notNull boolean 是否必填
true:必填
false:非必填,默认
name string 字段名称(如果行号添加在中间部分,可以在其位置添加#rowIndex#的占位符,解析时会自动将#rowIndex#替换为对应的行号)
addIndex boolean name是否添加行号:
true:是,默认
false:否
defaultValue string 默认值,多个默认值用,分隔
options Array 仅适用于radio或者checkbox的选项,如:
[
{text:””,value:”1″,name:”node_#rowIndex#_isview”},
{text:””,value:”2″,name:”node_#rowIndex#_isview”}
]
attr json 仅适用于browser的情况,具体属性请参见浏览按钮组件的描述
popedom的属性(此标签主要用于operate的权限控制)
_column  string 指定返回值的列(如: name)
_transmethod  string 需要进行转换的类(如:weaver.general.WorkFlow.getWFDegree)(默认传入的第一个参数是主键,如:id)(注:所有写的transmethod 的类其返回值必须是String类型 )
_otherpara  string 传入的第二个参数(如果表示以列传入,则前面必须加”column:” 多列就加上”+”号)
_otherpara2  string 传入的第三个参数(如果表示以列传入,则前面必须加”column:” 多列就加上”+”号)
operate的属性(此标签主要用于在类似系统中的broser框时使用)
_otherpara  string 传入的第二个参数(如果表示以列传入,则前面必须加”column:” 多列就加上”+”号)
_text  string 显示的标题(如: 编辑, 共享)
_linkvaluecolumn  string 链接的值的列(如:id)
_linkkey  string 链接的关键字(如:id)
_href  string 链接的网址(如:www.csdn.net)
_target  string 键接目标(如:_self ,_blank…)加上一个 _fullWindow)
_index  string 是否显示(与前面popedom的返回值对应  (从0开始))
_cusWidth  string 使用openFullWindowForXtable打开窗体时定义窗体宽度 只能是小数或者整数,当小于0时,会根据当前屏幕的大小自动计算宽度和高度,如设置为0.8时,会使用screen.width(screen.height)*0.8
_cusHeight  string 使用openFullWindowForXtable打开窗体时定义窗体高度
isalwaysshow string 如果该值设置为true,那么该操作列就一直显示
备注:如果 href=\”javascript:doDocDel()\” 方式 则需要在在script脚本里定义如下的方法:
function doDocDel(主键){ }
taglib定义字符串的各属性参考
_tableInstanceId  string 指定splitpage.xml中的tableInstanceId(如:”testtable1”)
_mode  string 运行模式,( run和debug)(你是在调试这个表格,那个,你一定要设置此模式为debug 这样,你才能得到很多有用的打印信息,并且,你所修改的表格的定义也才会被刷新 ,如果在最终调试好了以后,一定要把mode 设为run不然系统会白白浪费不必要的性能,当然即使用你设置的有是”run”状态,如果程序出现异常,它也会把错误信息打印出来! )
_tableString  string 此表格定义的xml String
_selectedstrs  string checkbox ,radio类型的框的预选值(其格式是,用逗号分隔的字符串,并且字符串前后没有逗号)
_tableInfo  string 此信息主要显示在表格的左上角
_showExpExcel  string 是否显示导了excel的按钮(“true”:是 “false” :否)
_isShowTopInfo  string 是否显示顶部信息栏(“true”:是 “false” :否)
_isShowBottomInfo  string 是否显示底部信息栏(“true”:是 “false” :否)
_isShowThumbnail  string 是否缩略图显示(详细使用见 附录六)
_imageNumberPerRow  string 每行显示的缩略图个数(详细使用见 附录六)
_TopLeftText  string 此信息显示在顶部信息栏左面
_BottomLeftText  string 此信息显示在底部信息栏左面
如:<wea:SplitPageTag  tableInstanceId=””  tableString=”<%=tableString%>”  mode=”run” selectedstrs=””
tableInfo=”ok ,this info!”  showExpExcel="true"  isShowTopInfo=”false”   isShowBottomInfo =”false” />
对表格提供了以下八个功能函数
方法1 返回类型 描述
_xtable_getAllExcel() 导出当前页Excel
方法参数 是否必须 类型 描述
方法2 返回类型 描述
_xtable_getExcel() 导出全部页Excel
方法参数 是否必须 类型 描述
方法3 返回类型 描述
_xtable_ CheckedRadioId () string 选 中radio的Id
方法参数 是否必须 类型 描述
方法4 返回类型 描述
xtable_ CheckedRadioValue () string 选 中radio的value
方法参数 是否必须 类型 描述
方法5 返回类型 描述
_xtable_ CleanCheckedRadio () 清除选 中的radio
方法参数 是否必须 类型 描述
方法6 返回类型 描述
_xtable_ CheckedCheckboxId () string 选 中的checkbox的ID
方法参数 是否必须 类型 描述
方法6.1 返回类型 描述
_xtable_CheckedCheckboxIdForCP () string 当前页选 中的checkbox的ID
方法参数 是否必须 类型 描述
方法6.2 返回类型 描述
_xtable_unCheckedCheckboxId() string 当前页未选 中的checkbox的ID
方法参数 是否必须 类型 描述
方法7 返回类型 描述
_xtable_ CheckedCheckboxValue () string 选 中checkbox的value
方法参数 是否必须 类型 描述
方法7.1 返回类型 描述
_xtable_CheckedCheckboxValueForCP() string 当前页选 中checkbox的value
方法参数 是否必须 类型 描述
方法7.2 返回类型 描述
_xtable_unCheckedCheckboxValue() string 当前页未选 中checkbox的value
方法参数 是否必须 类型 描述
方法8 返回类型 描述
_xtable_ CleanCheckedCheckbox () string 清除选 中的checkbox
方法参数 是否必须 类型 描述
对表格提供了以下几个页面跳转函数
方法1 返回类型 描述
_table. reLoad() 得新加载本页
方法参数 是否必须 类型 描述
方法2 返回类型 描述
_table.firstPage() 第一页
方法参数 是否必须 类型 描述
方法3 返回类型 描述
_table.prePage() 上一页
方法参数 是否必须 类型 描述
方法4 返回类型 描述
_table.nextPage() 下一页
方法参数 是否必须 类型 描述
方法5 返回类型 描述
_table.lastPage() 最后一页
方法参数 是否必须 类型 描述
方法6 返回类型 描述
_table.goPage(a) 到第 a 页
方法参数 是否必须 类型 描述
a int 需要跳转到的页数
对可编辑分页列表提供了以下功能函数
方法1 返回类型 描述
addNewRow() 添加新行,如果你在配置分页组件的时候使用checkboxpopedom配置了一列选择框,添加新行的时候会自动在新行中添加一个checkbox

调用方法:$(“.ListStyle”).addNewRow();

方法参数 是否必须 类型 描述
方法2 返回类型 描述
deleteSelectedRow() 删除被选中的行(需要你在配置分页组件的时候使用checkboxpopedom配置一列选择框,删除的时候会根据这一列中被选中的框来删除)

$(“.ListStyle”).deleteSelectedRow();

方法参数 是否必须 类型 描述
方法3 返回类型 描述
validateTable() 验证表格中填写的内容是否准确。(目前只支持必填项的验证)

$(“.ListStyle”).deleteSelectedRow();

方法4 返回类型 描述
afterDoWhenLoaded() 当分页列表加载完成时回调函数
方法5 返回类型 描述
beautySelect() 用于美化下拉框的方法。若不想美化某个下拉框,那么只需在<select上增加属性notBeauty=true即可。
方法6 返回类型 描述
getSelectedRow 用于获取按钮所在的行对象
(var tr=jQuery.getSelectedRow();//用getSelectedRow方法可以取到当前所在的行,返回的结果是DOM对象)
方法参数 是否必须 类型 描述
方法7 返回类型 描述
e8beforeJump boolean 定义一个回调方法,当页面跳转前调用该方法,如果该方法返回false,则不进行页面跳转。该方法在页面上自行定义。
方法参数 是否必须 类型 描述

转载请注明:赫非域 » ecology开发之分页控件