Hi Simon,

I am already using the columns tag. I'm just not getting my model to do what I want to do. I'd be glad to have a look at your renderer. Would probably be a good idea to try something else.

You mentioned using the columns tag. If you have a simple example for exactly that purpose which doesn't use a custom renderer but a sample backing bean for the columns tag, that'd be like perfect.

I have absolutely no clue how to get the column order back into the view without messing up the entire model, without using dummy values and so on. I would just like to store the order and redraw the model.

Next step will be to access ONE row for editing. I hope, at least that is going to be easier...

Andreas

Simon Kitching wrote:
On Tue, 2006-01-17 at 21:20 +0100, Andreas Zeller - zit-systems wrote:
  
Hi there,

I have been working with myFaces for the past few weeks and tried to
implement a product management tool.

Works as follows:

It displays and html table with several columns, that should as well be
removable and movable. I managed to implement sorting with
commandSortHeader and inline-editing, using the column Tag.
    

I've implemented exactly that, with a "picklist" popup dialog to allow
the user to select which columns are shown, and in which order.

It's not possible to do this with the standard datatable, however. I
wrote a custom subclass of t:dataTable which adds attribute
"columnOrder". A custom renderer then filters the columns seen by the
standard renderer.

  
But I am a little confused using the columns tag. How can I, for
instance, set a single column not rendered? If I set the rendered
attribute, I thought it might affect only a single column, but the
moment I set the rendered attribute, it disable the entire set of columns.
    

Yep. That approach doesn't work (at least I spent a lot of time on it,
and didn't find any way to just hide a column).

  
Anyway, I now decided to remove the columns from the model and remove
the data instead of disabling them, but somehow I now get an
IndexOutOfBoundsException that I didn't manage to get rid of yet.
    

That doesn't work; removing columns has all sorts of nasty internal
implications for the data table component. However a custom Renderer can
effectively do this by overriding the getChildren and getChildCount
methods to "filter out" the unwanted columns.

  
My question would be, if anybody already has such a table model as a
reference. I already took a look at the examples at irian.at, but the
only dynamic model doesn't actually move and remove columns but fill
them dynamically with random numbers, not exactly with values.
    

I've got permission to contribute this code to MyFaces, but not enough
time to do the actual integration just now. I can send you the code,
though.

  
If anyone has an example for that, I'd be glad if he or she might want
to share it with me.
    

An alternative is to use the t:columns component instead of normal
columns, ie have a table with just one child: a t:columns. This then
allows you to define everything very dynamically though it does move the
definition of what columns exist into the backing bean rather than being
in the JSP page.

Regards,

Simon




  

Reply via email to