Actually, what I'd like to propose is actually going the other way. I propose we replace all references to rows in PageableDataView with "cells". Here is what I have in mind:

Users can choose to insert as many or little columns per row (or rows at all) as they wish and insert <tr> or <td> as they see fit. They basically make use of the index of a DataItem (cell) to decide how to render it.

The benefit of this approach is extra flexibility so it is possible to implement tables where the first row contains one cell (i.e. the title) then the next couple of rows contain four cells (adding up some items) and then the final row contains two cells ("total=", "some value"). This is possible in HTML but not possible to express using PageableDataView. While it is not used as frequently as fixed column/row layouts, I have seen it often enough on web pages.

I think once you introduce the concept of rows into PageableDataView you will get users who expect columns. Let's just avoid this entire conversation by rephrasing the problem in terms of *cells* per page and let the user decide on the layout.

I don't think this will result in much of a drop in ease-of-use but will go very far in increasing flexibility. Anyway, I'm curious to know what you think.

Gili

Igor Vaynberg wrote:
So why don't you do it?
Write a GridView component and check it in so we can take a look at it.
-Igor

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gili
Sent: Tuesday, August 16, 2005 4:05 PM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] Re: ColumnedDataProvider startIndex problems


The current mechanism works, but it is not elegant. I really don't understand what impedence mismatch you're talking about though. We take the flat list and divide it into columns and rows, much like we're already doing using ColumnedDataProvider -- but all in one component instead of across multiple ones.

Off the top of my head, I would take the DataViewer and add the concept of columns into it and I think that would be pretty elegant. No?

Gili

Igor Vaynberg wrote:

This is how it works with the columned data provider isnt it? The problem is that there is an impedence mismatch between the idataprovider which provides a flat list and the double

dataview which
tries to fit the flat list into a grid. The renderer imho

fixes that.

Anyways, as I said, no point further discussing this if the current approach works for you.

-Igor




-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Gili
Sent: Tuesday, August 16, 2005 3:47 PM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] Re: ColumnedDataProvider startIndex problems


        Why can't we just do this?

<table wicket:id="grid" cellspacing="0" cellpadding="2">
        <tr wicket:id="row">
                <td wicket:id="column">cell</td>
        </tr>
</table>

I mean, this way you don't need special renderers (you

just put all
your stuff directly into the HTML file) and you can still do either old HTML tables or CSS or whatever. We allow developers to attach three IDs on the markup end (one for the grid, one for the row, one for the column) and they can use any tags (i.e. table, tr, td, div,

span, etc)
and put any markup before or after them.

        Wouldn't this work?

Gili

Igor Vaynberg wrote:


There are plenty of components in wicket that write out

html directly


to the response stream, sometimes it is the best and

easiest solution.


In this case all we are interested in is generating a simple grid layout that hosts cells. Is it easier to write your own

renderer to
customize your css or whatever as opposed to having to

write markup
for two dataviews everytime and making sure you get that

exactly right.


With a renderer all you do is:

<table wicket:id="grid" cellspacing="0" cellpadding="2">
        [cell markup]
</table>

Anyways, if you don't like it I wont implement it until I

need it :)


-Igor





-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Gili
Sent: Tuesday, August 16, 2005 3:23 PM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] Re: ColumnedDataProvider startIndex problems


        Looks bad :)

        We should have external markup files (i.e. *.html)

instead of doing


this the old servlet/JSP way of manually writing out HTML.

Gili

Igor Vaynberg wrote:



Basically a table renderer would look something like this:
Class tablerenderer implements igridrenderer {
        begin(...) {}
        beginRow(GridView view) {
                view.getResponse().write("<tr>");
        }
        beginCell(GridView view) {
                view.getResponse().write("<td>");
        }
        ...
}

Mmm this gives me an idea, we can have an excelrenderer or a csvrenderer, etc.. Almost like an exporter.

-Igor






-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On

Behalf Of Gili

Sent: Tuesday, August 16, 2005 2:36 PM
To: wicket-user@lists.sourceforge.net
Subject: RE: [Wicket-user] Re: ColumnedDataProvider startIndex problems


Looks ok I think although I'm not too familiar

with this whole
concept of a seperate renderer. I'd have to try it to see

what I think



:)

Gili





How about this idea:
We have a gridview extends dataview. A gridview takes a render interface that it uses to render the grid (instead of body

markup), so




we can have a tablerenderer or cssrenderer or

whatever, and the
interface would roughly look like this:

Interface IGridRenderer {
        begin(GridView view);
        beginRow(GridView view);
        beginCell(GridView view);
        endCell(GridView view);
        endRow(GridView view);
        end(GridView view);
}

Basically this is the same as my first post that

inserted the html


directly but now its tucked away in a renderer. This way we

don't have




the unnceessary row-wise views and you can even use OIR

cleanly since




it is basically a dataview.


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software

Conference & EXPO


September 19-22, 2005 * San Francisco, CA * Development

Lifecycle
Practices Agile & Plan-Driven Development * Managing

Projects & Teams



* Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user








-------------------------------------------------------
SF.Net email is Sponsored by the Better Software

Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development

Lifecycle
Practices Agile & Plan-Driven Development * Managing

Projects & Teams



* Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


--
http://www.desktopbeautifier.com/


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software

Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing

Projects & Teams


* Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user








-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing

Projects & Teams


* Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


--
http://www.desktopbeautifier.com/


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing

Projects & Teams
* Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user








-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing

Projects & Teams
* Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


--
http://www.desktopbeautifier.com/


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user








-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


--
http://www.desktopbeautifier.com/


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to