The search for the Holy Grail of User Interface developers…. The Matrix (in ADF Faces)

I have not been blogging a lot lately. Several of my colleagues have checked on me, to see whether I was doing ok, as such a lull in blogging is uncommon. There are two main reasons for my absence from the blogging scene: first of all I had to finish three-and-a-half presentation for the ODTUG 2007 Kaleidoscope conference, starting very soon now and second of all, I have been working on the Holy Grail for data oriented user interface developers: the matrix. We have done it in Forms, we have done in SQL and now I had to do it in ADF Faces: create a matrix where both Columns and Rows are dynamic data – the masters – and the cells represent the intersection between the masters. For one of the products we are developing, we needed such a matrix. Not just for read-only presentation but also for data entry. And while we are at it: make it as generic as possible, so we can easily reuse it in many different places.

Well, it was a nice challenge. And it turned out to be not so enormously difficult as I had originally thought it would be. It just takes getting out of the frame (of mind), thinking outside the box and letting go the certainties of Component Drag and Drop.

The search for the Holy Grail of User Interface developers.... The Matrix (in ADF Faces)

Here we see an example of the Matrix Component – this one in read only mode – where we see the Department master-records turned into Columns and the Details – in this case Job Count records for each department – turned to rows. This representation is the alternative for....

this one, that I created using standard drag & drop:

The search for the Holy Grail of User Interface developers.... The Matrix (in ADF Faces) 

Turning such as Master-Detail into a matrix is now a piece of cake, using the generic Matrix component that I worked on – quite hard I might add.

As soon as all details are wrinkled out, I will write more about this component. If you are interested in using it, please let me know. Note that we are still deciding on whether to just publish it for all to use for ask for a contribution – as a lot of work went into this component – the one with editable cells, client side row and column summation, multiple cells per column etc. 


  1. Supinya June 22, 2007
  2. Roman Nathalie June 7, 2007
  3. Lucas Jellema June 6, 2007
  4. gem June 6, 2007
  5. Marco Gralike June 6, 2007