ecside介绍

ecside介绍: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ecside是一个开源的列表组件。 他源自著名开源列表组件 eXtremeComponents (http://www.extremecomponents.org), 但现在已经脱离eXtremeComponents,独立发展(仍有大量代码来自 eXtremeComponents)。 由于各种协议和各种授权的问题,目前还不能独立成为一个开源项目,但“做最实用易用的列表组件”是ecside最终的目标。 作者: fins ( name: Wei Zijun email:fins@163.com blog:http://fins.javaeye.com ) (详见readme.txt) 基础功能的使用请参考 eXtremeComponents 官方网站(http://www.extremecomponents.org)的wiki(有中文版) 增强的功能简介: 1 ec:table属性增加 toolbarLocation 用来控制工具条在上还是在下显示 可选值 "bottom" "top" "none"(不显示) 2 ec:table属性增加 toolbarContent 可自定义工具条显示那些内容,以及排列顺序 默认: toolbarContent="navigation|pagejump|pagesize|export|extend|status" 例子 toolbarContent="pagejump|navigation|export|extend|status" 此时 工具条将不显示"页面行数调整"框同时顺序也会和默认的发生变化 navigation 导航条 pagejump 页面跳转 pagesize 页面行数设置 export 导出按钮区 extend 自定义扩展区 status 数据信息区 同时 为ec:table增加属性 nearPageNum="数字", 用来设置导航条前后显示的邻近页数,不设置将使用默认值,设置为0则不显示邻近页 3 ec:table属性增加 pageSizeList 可用来设置“页面行数选择列表”中的具体数值 默认:pageSizeList="10,20,50,100,1000,2000,all" 其中的all为增加全部显示功能。 例子 pageSizeList="10,20,50" 此时列表里将只显示 10 20 50供选择 max:数字 特性 : pageSizeList="max:200,10,15,30,50,100,all" 如果 10--100以及all中,某一项大过了max的200则不在列表中显示。 也可以只使用pageSizeList="max:200" 此时将使用默认设置,并用max限制。 4 ec:table属性增加 xlsFileName 和 pdfFileName 用来快捷的实现导出xls文件 如果你只是想使用默认的方式导出 xls 和 pdf文件 不用再使用 ec:exportXls ec:exportPdf标签了 直接在ec:table里使用这个属性就ok. 使用方法 xlsFileName="文件名.xls" 5 ec:table属性增加 showPrint 显示打印按钮,该功能只能在ie 5.5以上浏览器中使用没有使用第三方组件 使用了ie内置组件 使用方法: showPrint="true" 打印按钮将作为导出的一种类型而存在 6 ec:table属性增加 resizeColWidth 和 minColWidth 默认: resizeColWidth="false" minColWidth="20" 用来实现手动调节列宽的功能 在ie 5.5+ 和ff 2.0下测试通过 resizeColWidth="true" 实现列宽调整 minColWidth="20" 调整时列的最小宽度 目前不能和过滤功能一同使用(当filterable="true"时候不可以用) 7 为ec:row 添加更多的html事件支持,现支持:onmouserover onmouserout onclick ondbclick 8 为ec:column 添加更多的html事件支持,现支持:onmouserover onmouserout onclick ondbclick 9 为ec:table ec:row ec:column 增加了 tagAttributes属性 该属性用来为元素增加一些自定义的html属性 例如 ec:column 现在并不支持 onmouseup事件 可以通过下面的方式实现 *列表前扩展行 可以在这里加一些自定内容 该行与ectable在同一table内   *列表后扩展行 可以在这里加一些自定内容 该行与ectable在同一table内 14 增加 ec:extend 标签 用来在toolbar内增加一些自定义的html代码属性 例如 自定义扩展内容 这时该连接 将会出现在 toolbarContent 中的 extend所在位置 15 增加 ec:extendbar 标签 在列表前/后加些html代码 属性 before="true" (true top false(默认)) 如果要加的东西比较多 建议使用这个而不要使用ec:extend ec:extendbar 添加的内容不会和组件自带的tool放到一行 当 before="top"的时候 所加内容会出现在 列表和列表标题之间 例如 *工具条 前扩展块:可以在工具条前加些你自己想加的东西,所加内容和ectable在同一form内 *工具条 后扩展块:可以在工具条后加些你自己想加的东西,所加内容和ectable在同一form内 16 增加了cell类型 复选框 cell="checkbox" headerCell="checkbox" 单选框 cell="radiobox" headerCell="riadiobox" 例如 注意 value对应生成的 checkBox 的 value ,alias 对应生成的 checkBox 的name 17 增加页面变量 ${TOTALROWCOUNT} 用来标示当前纪录在全部记录中的行数 (${ROWCOUNT}用来标示当前纪录在当前页中的行数) 例子 ${TOTALROWCOUNT},${pre.name} 18 增加了“固定列表头,滚动列表体”(“列表内部滚动条”)的功能 这个功能实现起来比我一开始想像的复杂 不是简单的使用一个 div overflow:scroll就可以搞定的 虽然功能是支持了但是代码肯定还有很多bug或者是可以改进的地方 欢迎大家积极的提出宝贵的意见谢谢了 使用方法: ec:table标签内增加 listHeight="数字" 属性 (指定列表体的高度) 同时把要指定 width="数字" 不能省略同时要使用绝对大小 而不要使用百分比 详见例子: demo0.jsp 19 增加shadowRow功能 shadowRow我自己瞎起的名字解释如下: 每行下面可以再加一个子行这个行里显示什么可以由大家自己定义 常见的应用是在有些论坛论坛主题列表里当你点击行开头的小加号的时候 会在这行下面展开一个区域那里面显示的是主帖的内容. 我们可以把这个扩展一下利用ajax从后台去读取我们想读取的信息,这样我们就可以做任何我们想做的事情了) 该功能是不通过标签或java代码实现 纯js实现。 详见例子 demo0.jsp (大家一定要注意看demo0.jsp里的注释啊 呵呵) 其实有了这个功能,大家已经可以自己比较容易的实现可编辑表格的功能了呵呵过一阵我会发一个例子上来 20 ec:table 增加了 excludeParameters 和 includeParameters 属性 使用后,ecside将自动排除或保留属性中所指定的“表单属性” 这个如果你理解了 autoIncludeParameters 的用处就不难理解这两个属性的用处了 注意: excludeParameters 比 includeParameters 有更高的优先级 即 excludeParameters="a" includeParameters ="a" 时 a仍然将被排除 建议尽量使用 excludeParameters 不要使用 includeParameters ,除非你非常明确自己要包含的东西。 includeParameters 使用不当会使你忘记包含一些必须包含的东西. excludeParameters="表单属性名称1,表单属性名称2" (表单属性名称不能含有半角的逗号) includeParameters="表单属性名称3,表单属性名称4" 21 实现了灵活的可定制的“可编辑列表”: 在ec:column 中指定下列属性: cellName="这个cell在数据库中真正对应的列名,省略时则自动使用 property对应的名称" cellValue="这个cell在数据库中真正对应的值" cellEdit="a1,a2,a3" a1编辑类型(目前可选input select 其他如radio等还不完善), a2对应的模版textarea的ID(默认是 "ec_edit_template_'+编辑类型 ), a3触发编辑的事件(默认是ondblclick) 模版为一段写在textarea内的表单域的html代码,书写是完全自由的但是一定要注意不要缺少必要的事件方法和属性。 22 增加了 高亮显示选种行的功能,使用 ec:table属性: selectlightRow="true" 23 为ec:table增加了 maxRowsExported="数字" 属性,用来限制导出大最大条数, 如果数据超过这个数目,则不执行导出操作。 24 实现了cell的映射功能(详见示例的性别和 角色列) 用法: 例如,在示例中,角色的信息以 “标识--名称”的形式放到了一个 map内 在action中把这个map放到了 request.setAttribute("USERROLE_MAP", CommonDictionary.USERROLE);内 在页面使用 就会自动将名称显示出来。 25 做了一个简单的小标签用来从map生成 select的option列表 还有很多细节的改动,暂略... 内部变化: 1 提炼了ectable生成的js ectable 原先的实现会在页面内生成大量的js代码非常不好 现在翻页相关的js代码全部提炼成了 js函数 2 翻页按钮的外观提炼成由css决定而不是图片决定。 ectable原版生成的是 现在生成的是 这样要改变外观只要去修改“样式” 中的背景图片就ok了 filter clear 按钮 暂时还没有这么处理 3 !!!翻页机制全部使用ajax实现!!! (没有使用任何的ajax后台框架(如dwr ajaxAnywhere),纯js端实现) filter 排序功能还没有使用ajax 4 支持 预查询功能(利用ajax实现) 例如在用户察看第5 页数据的时候,系统会偷偷的把 上一页和下一页的数据也查出来 并放到隐藏的textarea内 ,翻页的时候无需再查询 当然这个功能有利弊,所以是可设置是否开启 5 将导出excel所使用的组件由poi切换成了 jxl 原因有2 1 jxl这个项目没有死仍然在继续发展 2 jxl似乎对内存要求更小 (poi在导出20000条纪录的时候outofmemery了,jxl则顺利完成任务) jxl官方网址 http://www.andykhan.com/jexcelapi/index.html 6 xls导出方式修改如果了解代码的人一定知道 默认的导出xls时是导出的vo/map里的原始数值 而不是页面实际显示的内容,这个问题现在解决了。 7 代码进行了较大规模的重构分离出了tool模块(但这个模块还不够灵活下一版本打算在这个基础上争强扩展性灵活性) 你可以自己写tool来取代组件内设的tool 组件默认的 tool 配制在 extremetable.properties 文件内 tool.navigation=org.ecside.tool.PageNavigationTool tool.pagejump=org.ecside.tool.PageJumpTool tool.pagesize=org.ecside.tool.PageSizeTool tool.export=org.ecside.tool.ExportTool tool.status=org.ecside.tool.StatusTool tool.extend=org.ecside.tool.ExtendTool tool.blank=org.ecside.tool.BlankTool tool.|=org.ecside.tool.SeparatorTool tool.,=org.ecside.tool.NewLineTool 如果你想实现 自己的导航 可以 继承抽象类BaseTool 然后修改配制例如 tool.navigation=com.mytest.MyNavigationTool 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gundsoul/archive/2009/07/21/4368381.aspx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值