eXtremeComponents使用

terryisme發表於2009-03-18

轉自:http://hi.baidu.com/myitlyj/blog/item/9d34314e8ec13a0cb3de059b.html

1.

items="presidents"

var="pres"

imagePath="${pageContext.request.contextPath}/images/*.gif"

action="${pageContext.request.contextPath}/presidents.run"

filterable="false"

sortable="false" >

...

裡的屬性還有:

a. rowsDisplayed,rowsDisplayed也可以在extremecomponents.properties檔案中設定

b. showPagination ,如果你想在一頁中顯示所有行,只需要設定showPagination為false。

c. TableTag關聯了很多樣式屬性:

所有這些都是可選的。

2.

使用highlightRow屬性可以設定行的高亮顯示,它的值為true或false,預設值為false。

設定highlightRow屬性後,它將插入設定行css類的javascript指令碼,預設的css 類為highlight。你可以使用highlightClass來使用定製的css類。

3.

為了便於你對於行資料進行動態互動處理,提供了onclick、onmouseover和 onmouseout屬性。

4.

RowTag關聯了很多樣式屬性:

5.

提供可選取值方法的主要原因是使你能夠對其他型別的html標籤提供動作支援,例如顯示 一幅圖片或者透過定義href使該列成為到其它頁的一個連結。

6。

7。

TableTag中有filterable和sortable屬性,ColumnTag中也 有相同的屬性。 列的filterable和sortable屬性將覆蓋表的filterable和sortable屬性設定。當你需要除了對錶中的一、兩列之外的 所有列進行過濾和排序時,十分便利。

8。檢視問題:

viewsAllowed屬性制定類允許使用的檢視。檢視包括:html、pdf、xls、 csv,以及任何定製的檢視。 如果你指定一個或幾個檢視,那麼列僅能使用這些指定的檢視。例如:你指定viewsAllowed="pdf",這意味著 這列只允許PDF匯出,而不能進行其他格式的匯出或html檢視。

viewsDenied屬性制定類不允許使用的檢視。檢視包括:html、pdf、xls、 csv,以及任何定製的檢視。 如果你指定一個或幾個檢視,那麼列僅這些指定的檢視不能被使用。例如:你指定viewsDenied="html",這意味著 這列不允許使用html試圖,但能進行任何形式的匯出。

9。ParameterTag

eXtremeTable能夠指定是否處理所有的引數。預設為處理所有的引數,這意味著當你 進行 過濾、排序、分頁時,所有的引數都被eXtremeTable儲存並傳到JSP中。通常這是你需要的功能, 然而,有時候你需要只允許一些特定的引數儲存到eXtremeTable中。我喜歡把它看作鎖定extremeTable, 可以透過設定表的autoIncludeParameters屬性值為false來到達目的:

...

甚至當表被鎖定時,你仍然可以透過簡單地使用parameter標籤來包含一些你想使用的引數。下例 包含了foo引數:

...

現在所有的eXtremeTable引數都被鎖定。但過濾、排序和翻頁時,foo引數仍將被傳遞。

10. .propeties取代

為了替代硬編碼eXtremeTable使用的預設屬性值,我在屬性檔案中配置所有用到的屬性。 如果你需要覆蓋任何預設的設定,你可以建立自己的extremecomponents.properties檔案 並設定你想改變的值。

為了設定屬性檔案,你應該如下例所示在/WEB-INF/web.xml檔案中宣告一個context-param,並 指定你的屬性檔案的路徑:

extremecomponentsPreferencesLocation /org/extremesite/resource/extremecomponents.properties

你可以認為屬性檔案為你提供了一個對所有的eXtremeTables宣告全域性設定的一個方法。 建立屬性檔案的最大好處就是避免在標籤中複製、貼上相同的屬性。典型的extremecomponents.properties檔案如下所示:

table.imagePath=/extremesite/images/*.gif

table.rowsDisplayed=12

column.parse.date=yyyy-MM-dd

column.format.date=MM/dd/yyyy

column.format.currency=$###,###,##0.00

在屬性檔案定義的TableTag使用最多的兩個屬性是:imagePath和rowsDisplayed。如果你不在屬性檔案中宣告 這些屬性,你需要在每個eXtremeTable中新增他們。典型的表如下所示:

...

如果在屬性檔案宣告imagePath和rowsDisplayed,則表如下所示:

...

正如你所見,屬性檔案避免了重複編碼。

在屬性檔案定義的ColumnTag使用最多的兩個屬性是:parse和format。如果你不在屬性檔案中宣告 這些屬性,你需要在每個eXtremeTable中新增他們。典型的列使用日期cell如下所示:

如果在屬性檔案宣告parse和format,則列如下所示:

當然你仍然可以定義parse和format屬性來覆蓋全域性設定,但是大多數工程對於日期使用一致的parse 和format。需要注意屬性檔案中parse.date和format.date的宣告語法。

下例為使用貨幣cell的典型列:

如果在屬性檔案宣告format,則列如下所示:

另外,你可以宣告一個定製的format並在列中透過使用列的basis來使用它,我把這想象為named屬性。因此如果你的 extremecomponents.properties檔案如下所示:

table.format.myCustomDate=yy-MM-dd

那麼列可以如下使用定製的format:

11。ExportTag

eXtremeTable具有匯出不同格式檔案的功能,匯出的資料為過濾和排序後的所有結果 集, 分頁不會影響返回的結果集。換句話說,如果表資料分多頁顯示,那麼所有頁的資料都將被匯出。 匯出的格式為Microsoft Excel (OpenOffice Calc)、PDF和CSV。

使用ExportXlsTag匯出Microsoft Excel (OpenOffice Calc):

...

使用ExportPdfTag匯出PDF。所有要做的就是指定fileName屬性和一些樣式屬性:

...

使用ExportCsvTag匯出CSV。當使用CSV匯出是預設的分隔符為‘,’(comma)。你可以使用 delimiter屬性來指定為其他的符號。下面為指定‘|’(pipe)為CSV分隔符的示例:

...

[@more@]http://mydreams1983.blog.163.com/blog/static/86328795200916101237843/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/93029/viewspace-1018926/,如需轉載,請註明出處,否則將追究法律責任。

相關文章