~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ecside是一個(gè)開源的列表組件。
他源自著名開源列表組件 eXtremeComponents (http://www.extremecomponents.org),
但現(xiàn)在已經(jīng)脫離eXtremeComponents,獨(dú)立發(fā)展(仍有大量代碼來自 eXtremeComponents)。
“做最實(shí)用易用的列表組件”是ecside最終的目標(biāo)。
作者: fins ( name: Wei Zijun email:fins@163.com blog:http://fins.javaeye.com )
在使用前,請(qǐng)閱讀一下以下信息,以幫助您了解您要使用的將是一個(gè)多么不成熟的東西(但它會(huì)有成熟的一天,而且那天不會(huì)遠(yuǎn) 呵呵):
1 ecside不能和原始版本的 eXtremeComponents 同時(shí)使用,且不保證能與原先使用 eXtremeComponents 的系統(tǒng)兼容,請(qǐng)見諒。
2 目前只支持GBK編碼的應(yīng)用,請(qǐng)見諒。
3 目前只在IE6 和FireFox2 上進(jìn)行過測(cè)試,不保證兼容其他(版本)瀏覽器,請(qǐng)見諒。
4 目前提供的樣式風(fēng)格巨丑無比,請(qǐng)見諒。
5 目前沒有完備的文檔和例子,請(qǐng)見諒。
6 代碼沒有注釋,沒有測(cè)試用例,請(qǐng)見諒。
7 沒有很好的版本控制,沒有構(gòu)建腳本,請(qǐng)見諒。
8 擁有無數(shù)未知的bug,請(qǐng)見諒。
ecside發(fā)布地址:
http://fins.javaeye.com/blog/40190
ecside發(fā)布地址:
http://fins.javaeye.com/blog/40190
ecside圈子:
http://ecside.javaeye.com/
ecside綜合討論專用帖
http://fins.javaeye.com/blog/48723
其他出色的列表組件(有些是收費(fèi)的):
eXtremeComponents原始版 ( http://www.extremecomponents.org )
dhtmlXGrid ( http://scbr.com/docs/products/dhtmlxGrid/ )
displaytag ( http://displaytag.sourceforge.net )
nitobi grid ( http://www.nitobi.com/products/grid/ )
ActiveWidgets gird ( http://www.activewidgets.com/grid/ )
rico livegrid ( http://openrico.org/rico/livegrid.page )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
主要增強(qiáng)的功能:
1 可設(shè)置工具條位置(上 下 或 不顯示)
2 可設(shè)置工具條內(nèi)容(顯示哪些 不顯示哪些)
3 可設(shè)置工具條上各個(gè)功能按鈕的相對(duì)位置
4 增加了調(diào)整頁大小的選擇框,并可自定義選擇框內(nèi)的內(nèi)容
5 增加了帶有鄰近頁面的導(dǎo)航條
6 增加了可跳轉(zhuǎn)到指定頁面的跳轉(zhuǎn)框
7 增加了當(dāng)前選中行高亮
8 為ec:table 增加了 excludeParameters 和 includeParameters 屬性,可以實(shí)現(xiàn)更快捷簡(jiǎn)便的“參數(shù)保留/不保留”功能
9 可添加自定義的html代碼到工具條內(nèi) 或其他位置
10 可手動(dòng)調(diào)整列寬
11 增加了“列表內(nèi)部滾動(dòng)條”(實(shí)現(xiàn)列表頭固定,列表體滾動(dòng)的功能)
12 為ec:row和ec:column 添加更多的html事件支持,現(xiàn)支持:onmouserover onmouserout onclick ondbclick
13 為ec:table ec:row ec:column增加了自定義擴(kuò)展屬性功能
14 增加 ec:extendrow 標(biāo)簽,實(shí)現(xiàn)列表擴(kuò)展行的功能
15 增加shadowRow(影子行)功能:每行下面可以再加一個(gè)子行 這個(gè)行里顯示什么可以由大家自己定義
16 增加頁面變量 ${TOTALROWCOUNT} 用來標(biāo)示當(dāng)前紀(jì)錄在全部記錄中的行數(shù)
17 增加了打印功能(尚不完善)
18 ec:column屬性增加 ellipsis ,實(shí)現(xiàn)單元格內(nèi)數(shù)據(jù)過長的時(shí)候 自動(dòng)截短并加"..."的功能(ie only)
19 實(shí)現(xiàn)了跨列的列表頭
20 統(tǒng)計(jì)欄的標(biāo)題格可跨列
21 增加了若干種cell 和 headerCell,例如checkbox radio
22 取消了imagePath屬性,樣式相關(guān)的圖片信息全部提入css內(nèi)
23 重(第4聲)用了js 和css ,很多功能用js來實(shí)現(xiàn)
24 支持了ajax翻頁
25 支持預(yù)查詢功能,在察看第n頁的時(shí)候,把n+1頁的數(shù)據(jù)也查詢出來(隱藏著)備用,加快查看下一頁的速度
26 將導(dǎo)出excel所使用的組件由poi切換成了 jxl
27 xls導(dǎo)出方式修改 原始的導(dǎo)出是導(dǎo)出的vo/map里的原始數(shù)值 現(xiàn)在是導(dǎo)出頁面實(shí)際顯示的內(nèi)容
28 增加簡(jiǎn)捷導(dǎo)出方式 (通過ec:table的 xlsFileName pdfFileName csvFileName屬性)
29 支持pdf中文導(dǎo)出。
30 代碼進(jìn)行了大規(guī)模的重構(gòu)
31 增加了很多ajax相關(guān)特性
32 實(shí)現(xiàn)了可編輯列表功能 以及cell的映射功能
... ...
更新日志:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
新增加的特性通常都在 demo.do.jsp這個(gè)例子里進(jìn)行演示。
===============================
2007-01-21 15點(diǎn)
===============================
對(duì)于以下更新,demo.do.jsp進(jìn)行了修改,大家看看例子可能會(huì)更好理解.
1) 實(shí)現(xiàn)了cell的映射功能(詳見示例的性別 和 角色列),用法:
了一個(gè)簡(jiǎn)單的小標(biāo)簽 用來從map生成 select的option列表。
- <ec:column mappingItem="用來映射的MAP在context內(nèi)的key" mappingDefaultValue="當(dāng)找不到映射值時(shí)要使用的默認(rèn)值".../>
例如,在示例中,角色的信息以 “標(biāo)識(shí)--名稱”的形式放到了一個(gè) map內(nèi)
在action中 把這個(gè)map放到了 request.setAttribute("USERROLE_MAP", CommonDictionary.USERROLE);內(nèi)
在頁面使用
- <ec:column property="USERROLE" title="角色" mappingItem="USERROLE_MAP" mappingDefaultValue="[錯(cuò)誤的角色]"/>
就會(huì)自動(dòng)將名稱顯示出來。
2) 做
- <ec:options items="MAP在context內(nèi)的key" defaultKey="默認(rèn)選中的option的value" tagAttributes="附加的html屬性"/>
3) 對(duì)ec:extend標(biāo)簽做了擴(kuò)充,增加了位置設(shè)置屬性 location
top: form內(nèi)列表主體前 ; bottom : form內(nèi)列表主體后
toolbar或不設(shè)置location屬性 在toolbar的擴(kuò)展位置.
4) 代碼進(jìn)行了一點(diǎn)點(diǎn)修改,對(duì)使用沒有影響。
===============================
2007-01-20 9點(diǎn) ECSIDE 1.0 RC1 發(fā)布啦
===============================
沉寂兩天,但一直沒有閑著,帶來了大變化 索性來個(gè) 1.0 RC1 版 :) 。
1) 實(shí)現(xiàn)了靈活的可定制的“可編輯列表”功能 (詳見help.txt 200行左右的描述 以及示例)
支持多種編輯方式(文本框 下拉框 將來還會(huì)支持更多),可自定義模版(使用自定義的文本框 下拉框),還提供了:
對(duì)可編輯列進(jìn)行標(biāo)識(shí),對(duì)編輯過的cell進(jìn)行標(biāo)識(shí)(默認(rèn)為改變單元格背景色),
使用ajax技術(shù)提交后臺(tái),提交成功的cell將清除編輯標(biāo)識(shí) 等貼心設(shè)計(jì)。
2) 增加了 高亮顯示選中行的功能,使用 ec:table屬性: selectlightRow="true"
3) 去掉了 fullnavigation導(dǎo)航條,將其與navigation導(dǎo)航條合并
改為為ec:table增加屬性 nearPageNum="數(shù)字" 用來設(shè)置導(dǎo)航條前后顯示的鄰近頁數(shù) 等于0時(shí) 為不使用鄰近頁。
4) 為ec:table增加了 maxRowsExported="數(shù)字" 屬性,用來限制導(dǎo)出大最大條數(shù), 如果數(shù)據(jù)超過這個(gè)數(shù)目,則不執(zhí)行導(dǎo)出操作。
5) 為之前增加的ec:table的pageSizeList屬性 增加了特性
pageSizeList="max:200,10,15,30,50,100,all" 如果 10--100以及all中,某一項(xiàng)大過了max的200則 不在列表中顯示。
也可以只使用pageSizeList="max:200" 此時(shí)將 使用默認(rèn)設(shè)置,并進(jìn)行max控制。
6) 解決了pdf中文編碼問題,終于支持pdf導(dǎo)出了。
7) 恢復(fù)了對(duì)sitemesh的支持,用法見原版ec文檔(我沒有親自沒有測(cè)試,因?yàn)槲也粫?huì)用sitemesh :( )。
8) Ajax翻頁優(yōu)化,同時(shí)增加了 ECSide.findAjaxZoneAtClien 屬性,可設(shè)置 客戶端 還是 服務(wù)端進(jìn)行 html代碼剪裁。
默認(rèn)推薦使用 服務(wù)器端。
9) 再次對(duì)js和java代碼進(jìn)行了較大規(guī)模的重構(gòu),清理了一些無用代碼,添加了必要的協(xié)議信息。
10) 一些細(xì)節(jié)的修改(例如對(duì)滾輪的支持更自然,filterable="true"手動(dòng)調(diào)節(jié)列寬功能屏蔽等)
還有對(duì)一些小bug的修正,但是由于變化較大,肯定還會(huì)帶來一些新bug。
11) 整個(gè)示例的應(yīng)用逐步發(fā)展為 ecside 的最佳實(shí)踐,加入了hsqldb(hsqldb的使用參考了springside),全新的例子。
當(dāng)然還不夠好 會(huì)在以后的日子里繼續(xù)完善。
12) 做了一個(gè)簡(jiǎn)單的logo :)。
順便問一下:
我使用了 springside 的 HsqlListener (做了些修改 但絕對(duì)不涉及到核心),為什么在每次重啟應(yīng)用的時(shí)候總是包下面的異常呢??
Exception in thread "HSQLDB Timer @15d63da" java.lang.NullPointerException
at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
===============================
2007-01-16 14點(diǎn)
===============================
1) 當(dāng)使用“列表內(nèi)部滾動(dòng)條”時(shí),可以使用百分比來設(shè)置列表的寬度了。
(但還是建議您使用像素(px)作為列表和列的寬度單位,因?yàn)榘俜诌€有一些小bug)
還有個(gè)建議 不管是使用什么樣的寬度,建議都要使用一個(gè)“自動(dòng)寬度”的column,
就是說不要給所有的ec:column都指定width,給其中一個(gè)點(diǎn)“自由”,這樣很多已知的關(guān)于列寬調(diào)整的問題都可以解決。
2) 對(duì)eccn.js進(jìn)行了大量的修改,提供了更好(但不完美)的IE和FF兼容(一致)性(這個(gè)工作差點(diǎn)把我累吐血).
ff和ie 在取得對(duì)象坐標(biāo)和寬度的算法不同 太郁悶了
3) 修正了一些bug。
===============================
2007-01-12 以及之前的一些更新日志
===============================
1) 為“列表內(nèi)部滾動(dòng)條”增加了對(duì)鼠標(biāo)滾輪的支持(只在ie6和ff2下測(cè)試過,其他版本沒有測(cè)試)
2) 將部分“列表內(nèi)部滾動(dòng)條”相關(guān)的代碼從java中提出,改用js實(shí)現(xiàn).
3) 對(duì)js文件做了一些調(diào)整。
4) 修正了一些小bug。
===============================
1) 修正了一個(gè)“列表內(nèi)部滾動(dòng)條”的bug
該bug表現(xiàn)為在 IE里 有些windows的主題下,縱向滾動(dòng)條不可用。FT!!!!!
2) eccn.js做了一點(diǎn)小小的改動(dòng),為將來做過編碼支持打下了一點(diǎn)點(diǎn)基礎(chǔ).
===============================
1) 修正了改變頁面大小時(shí)“列表內(nèi)部滾動(dòng)條”錯(cuò)亂的bug
2) 重構(gòu)了“列表內(nèi)部滾動(dòng)條”相關(guān)的js和java代碼
===============================
1) 修正了使用ajax翻頁時(shí)“列表內(nèi)部滾動(dòng)條”錯(cuò)亂的bug
2) 增加了當(dāng)列表內(nèi)容的實(shí)際寬度和高度小于設(shè)置的寬度和高度的時(shí)候,
自動(dòng)調(diào)整區(qū)域大小,同時(shí)自動(dòng)隱藏滾動(dòng)條(只隱藏橫向的)的功能。
===============================
增加了“固定列表頭,滾動(dòng)列表體”(“列表內(nèi)部滾動(dòng)條”)的功能
這個(gè)功能實(shí)現(xiàn)起來比我一開始想像的復(fù)雜
不是簡(jiǎn)單的使用一個(gè) div overflow:scroll就可以搞定的
雖然功能是支持了 但是代碼肯定還有很多bug或者是可以改進(jìn)的地方
歡迎大家積極的提出寶貴的意見 謝謝了
使用方法:
ec:table標(biāo)簽內(nèi) 增加
listHeight="數(shù)字" 屬性 (指定列表體的高度)
同時(shí)把要指定 width="數(shù)字" 不能省略 同時(shí)要使用絕對(duì)大小 而不要使用百分比
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
部分增強(qiáng)功能簡(jiǎn)介:
(詳見help.txt)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我們有自己的圈子了
以后大家有 ecside相關(guān)的問題 可以去圈子里
我的 blog里問( http://fins.javaeye.com/blog/48723 )
別在發(fā)消息了 因?yàn)榘l(fā)消息別人看不到 而有些問題可能別人也遇到過 或者是我回答的不對(duì) 別人也可以幫忙
對(duì)吧?
謝謝大家
ecside發(fā)布地址:
http://fins.javaeye.com/blog/40190
ecside圈子:
http://ecside.javaeye.com/
ecside綜合討論專用帖
http://fins.javaeye.com/blog/48723
我申請(qǐng)了javascud項(xiàng)目 而且也申請(qǐng)了svn 但是不會(huì)用啊 :'( 誰來教教我啊
依賴包已經(jīng)上傳到 圈子的共享空間里了
共3個(gè) 請(qǐng)解壓縮后放到 WEB-INF/lib下 如果不導(dǎo)出pdf可以不下載pdf相關(guān)的包 和 字體文件 這兩個(gè)比較大
ecside_1.0_rc1_20070121b.zip | ||
描述: | 完整版,但不包括所依賴的WEB-INF/lib下的文件.依賴文件可以去圈子里下載, 也可以去javaeye ftp下載,也可以按照WEB-INF/lib下的filelist.txt文件所列,自行下載. | ![]() 下載 |
文件名: | ecside_1.0_rc1_20070121b.zip | |
文件大小: | 697 KB | |
下載過的: | 文件被下載或查看 774 次 |