组件 | 分页控件 | 备注 | ||||
功能说明 | 基于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" /> |
||||||
|
||||||
例子 | 例子:/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开发之分页控件