Moved the element back on the Cell for the FilterCell.
- If you modified the HtmlView, and specifically the filter row, then remove the
element in the View.
2. New RowTag with cooresponding Row Bean
- Able to do row level javascript onmouseover, onmouseout, and onclick
- Ability to do row level highlighting. See stylesheet change (below) for proper formating.
- Moved the stylesheet class attribute from the column (
) to the row ( | )
3. New ColumnTag attribute viewsAllowed
- Can specify whether the column should be used for the current view. The views include html, pdf, xls, csv, plus any custom views.
- If you specify a given view (or views), then only that view (or views) will use the column
- For example you can specify viewsAllowed="pdf" which will use the column for the PDF export, but not any other export or default html View
- Replaces the ColumnTag exportable attribute
4. New ColumnTag attribute viewsDenied
- Can specify whether the column should not be used for the current view. The views include html, pdf, xls, csv, plus any custom views
- If you specify a given view (or views), then only that view (or views) will not use the column
- For example you can specify viewsDenied="html" which will not use the column for the html View, but will for all the exports
- Replaces the ColumnTag exportable attribute
5. Enhancements
- Every attribute of every tag will accept an EL Expression
- Will accept a Set for the collection now
- Confirmed to work with a RowSetDynaClass (if send as List)
- Able to mix the ColumnTag and the ColumnsTag. Will need to use the method model.getColumnHandler().addAutoGenerateColumn(column);
- Improved the default stylesheet
- My initial intentions were to just change the stylesheet to work with the row highlighting, but I ended up tweaking it enough that now it just works better. For instance if you have some filters turned off then it seamlessly flows with the statusbar because it no longer uses cellspacing. If you use the new stylesheet be sure to remove the table.cellspacing=2 from your extremecomponents.properties file.
6. Bugs Fixed
- Fixed Rows Displayed bug
- The Rows Displayed was not working correctly with the Show All under certain conditions
- Can set the median and max values in the extremecomponents.properties. The default values are table.medianRowsDisplayed=50 and table.maxRowsDisplayed=100, respectively
部分使用说明 --by david xu 1、TableTag 的改动 collection attribute 不再赞成使用,可以使用tableId, items, and var 取而代之
<ec:table items="customerList" tableId="customer" var="customer" title="customerList" …………
> ………… < SPAN>ec:table>
2、ColumnTag 新属性的用法viewAllowed,viewsDenied 支持view包括:html, pdf, xls, csv以及自定的view
viewsAllowed="pdf" //说明:只允许在pdf view 中 viewsAllowed="html,xls" //也可以用,分隔 3、 Cell interface 的改动 通过model.getRowHandler().getRow().getRowCount() 返回 rowcount 4、新增RowTag
<ec:row highlightRow="true" onclick="alert('david')" > <ec:column/> <ec:column/> <ec:column/> ………… < SPAN>ec:row> 5、set ,RowSetDynaClass 的支持
<% List customerList = new ArrayList(); LazyDynaBean temp = new LazyDynaBean(); temp.set("code", "001"); temp.set("name", "david xu"); customerList.add(temp); request.setAttribute("customerList", customerList); %>
………… …………
6、Totalling Columns
<ec:table totalTitle="合计" > <ec:column property="salary" showTotal="true"/> < SPAN>ec:table>
New and Noteworthy 1.0.1-M3
This build represents a massive refacoring of the handler code and includes a new limit package. I believe the state of the code is the best it has ever been and in general has really gone to a new level. This was initially sparked by a refactoring of the Pagination (now Limit) and Rows Displayed features but then trickled down into the handler code and also resulted in a new Limit and LimitFactory.
Be sure to give yourself time to move to this release as you will need to fix your custom cells and views. I had to move some classes to different packages as things changed internally. The changes will make working with the eXtremeTable much easier and were unavoidable.
1. Things that changed and need to be aware of:
- The Show All is no longer an option in the Rows Displayed droplist. It was confusing as the median and max rows would sometimes appear and sometimes go away. It was way to buggy also...you could filter the rows, select show all, and the hit clear. At that point you would display all the rows.
- The BaseModel moved from the base package to the core package as there is no base package left.
- The Limit, CollectionOfBeans, CurrentCollectionBean moved to the BaseModel.
- org.extremecomponents.table.base.ModelUtils --> (moved) org.extremecomponents.table.core.ExportFilterUtils
- The TableTag attribute rowsDisplayed="0" no longer has any meaning. If you would like to show all the rows then remove the pagination with the TableTag attribute showPagination="false". The reason for the change is because the rows displayed was reworked and the meaning dropped. Also, I could tell from code examples that many people were confused by the attribute and its meaning as both the showPagination="false" and rowsDisplayed="0" were used together. I would prefer one clear way to display all the rows.
2. Limit and LimitFactory
Basically you just build a Limit object and it self populates with everything that you need to figure out the sorting, filtering, rowStart, rowEnd, page, currentRows and totalRows. You used to have to deal with Strings and Maps versus now you work with simple intuitive objects and ints. I also use the Limit object internally with a different factory.
This is all you have to do: Limit limit = LimitFactory.createInstanceOfLimit(request, tableId);
LimitFactory.setLimitFilterAndSortAttr(limit);
//once you know the total rows
LimitFactory.setLimitPageAndRowAttr(limit, DEFAULT_ROWS_DISPLAYED, totalRows);
The example demonstrates how to work in a Controller (Spring) or Action (Struts).
Then in your JSP set the callbacks to point to the LimitCallback. <ec:table
retrieveRowsCallback="org.extremecomponents.table.callback.LimitCallback"
filterRowsCallback="org.extremecomponents.table.callback.LimitCallback"
sortRowsCallback="org.extremecomponents.table.callback.LimitCallback"
...
>
3. Enhancements
- If you hard coded in any of the filter parameters then be sure to look at the TableContants class to see how they changed. The URL is more of a code than something you can read now.
4. Bugs Fixed
- Fixed the FOP errors messages associated with the PDF Export View.
- If the filter is invoked with no filter criteria the table no longer tries to match empty results. The effect before was the table would show no results, and now just remains the same.
- Removed org.extremecomponents.table.tag.TableTagExtraInfo
| |