In this post, I have decided to implement JDeveloper 11g Technical Preview 2 sample application, based on one of my most popular blog post - Create, Edit and Delete operations in ADF Faces af:table component. I already received several requests to provide sample application for similar functionality in JDeveloper 11g, so here it comes.
Developed sample application EditableTable11.zip, provides read-only table with those actions - Delete, Create, Edit, Save, Cancel. Row selected for editing is shown in editable mode and can be updated. Application is based on HR schema that comes with Oracle XE database. Application logic is based on Jobs entity from HR schema.
This sample is developed using the same principle as described in my previous post. I will describe what are the differences in implementation:
1. In JDeveloper 11g CreateInsert operation is not hidden anymore, you can use it directly from Data Control. This operation is used to create new row in table:
2. In From field of af:setActionListener, defined for Edit button, is used access to row - #{bindings.JobsView1Iterator.currentRow}, instead of access to individual column - {row.JobId}.
3. isEnableEditing() method in ValueHolder.java is changed, new code:
What's the difference here? First thing - since ValueBinding is deprecated, I'm using ValueExpression to access column value in a table. And second - I'm using oracle.jbo.server.ViewRowImpl to hold selected row.
How it works? JDeveloper 11g comes with ADF Faces Rich Client, it gives new level of usability in Web applications - you will notice this immediately. Create functionality is invoked by pressing Create button:
When data is entered, Save button allows to store information into database:
There is no more ugly radio button components for row selection, you can use just your mouse to select any row for editing:
And finally, several words about some of new features available in af:table component that comes with JDeveloper 11g ADF Faces Rich Client. First feature - standard functionality allows to rearrange columns in a table on runtime:
Filter can be used, to execute search directly in the table:
And, when let's say wrong input is provided, nice error message is shown at the same time when new value is typed:
I'm sure, you will like af:table component that comes with JDeveloper 11g ADF Faces Rich Client ;-)
Developed sample application EditableTable11.zip, provides read-only table with those actions - Delete, Create, Edit, Save, Cancel. Row selected for editing is shown in editable mode and can be updated. Application is based on HR schema that comes with Oracle XE database. Application logic is based on Jobs entity from HR schema.
This sample is developed using the same principle as described in my previous post. I will describe what are the differences in implementation:
1. In JDeveloper 11g CreateInsert operation is not hidden anymore, you can use it directly from Data Control. This operation is used to create new row in table:
2. In From field of af:setActionListener, defined for Edit button, is used access to row - #{bindings.JobsView1Iterator.currentRow}, instead of access to individual column - {row.JobId}.
3. isEnableEditing() method in ValueHolder.java is changed, new code:
What's the difference here? First thing - since ValueBinding is deprecated, I'm using ValueExpression to access column value in a table. And second - I'm using oracle.jbo.server.ViewRowImpl to hold selected row.
How it works? JDeveloper 11g comes with ADF Faces Rich Client, it gives new level of usability in Web applications - you will notice this immediately. Create functionality is invoked by pressing Create button:
When data is entered, Save button allows to store information into database:
There is no more ugly radio button components for row selection, you can use just your mouse to select any row for editing:
And finally, several words about some of new features available in af:table component that comes with JDeveloper 11g ADF Faces Rich Client. First feature - standard functionality allows to rearrange columns in a table on runtime:
Filter can be used, to execute search directly in the table:
And, when let's say wrong input is provided, nice error message is shown at the same time when new value is typed:
I'm sure, you will like af:table component that comes with JDeveloper 11g ADF Faces Rich Client ;-)