Monthly Archives: May 2010

Placeholder Datacontrol


There are two types of development in ADF development using jdeveloper. ui-first approach and data-first approach.

ui-first approach – design the UI first and then the data

data-first approach – design the data first and then design the UI accordingly.

In the first approach, we are sure that its very hard to design a real-time web application without some data. For this purpose adf provides a placeholder datacontrol using which we can design the page accordingly. The placeholder datacontrol is a simulation of actual data control in realtime scenario and we have full options to design the page without the actual data using this.

To start with,

In the Application Navigator, right-click the project and choose New

In the New Gallery, expand Business Tier, select Data Controls and then Placeholder Data Control, and click OK

Enter the values for place holder name, Directory name, Description and click ok

Datacontrol.dcx, adfm.xml, placeHolder.xml file gets created

Now, right-click the created datacontrol in the panel and select ‘Create Placeholder data type

create the attributes and click ok

The created datacontrol is exposed in the panel like a normal datacontrol

The attributes that are exposed can be dragged and dropped to the page as usual

Advertisements

Scroll to specific row in a table on pageload


Following code will help you to scroll to a specific row in a af:table on page load.

//Code to scroll to a specific row
this.tableBinding.setRowIndex(rowIndex);
RowKeySet ps = this.tableBinding.getSelectedRowKeys();
ps.clear();
ps.add(this.tableBinding.getRowKey());
AdfFacesContext.getCurrentInstance().addPartialTarget(this.tableBinding);

Also set the displayRow=selected for the table

How normal jar library is different from ADF Library?


Whenever you create a deployment profile for the model project in ADF you will select the ADF Library type rather an ordinary library type (java jar type)

Both act as a library archive supporting jar and zip files

What is the difference then?

  • ADF library differ in a way that it behaves. It has the uniqueness of automatically pulling in the dependent jar files that is referred by any of the files and written in to the manifest files. The dependent libraries that are needed at runtime is pulled n by Jdeveloper as secondary imports.
  • The library exposes the meta data files likes task flows allowing the user to drag and drop in their files as dependent files which normal jar will not expose and support. The dropped taskflow will be added as a region in the page.

Fix ClassNotFoundException – oracle.ecsf.util.contextFactory


If you face issues like

java.lang.ClassNotFoundException: oracle.ecsf.util.contextFactory

then the solution is to add ECSF(Enterprise Core Solutions Framework) library to the project. There are two libraries that will make an impact

  • ECSF Client
  • ECSF Runtime

AutoHeightRows along with detailStamp


When a table has AutoHeightRows set to a value greater than 0 (eg 10),

clicking on the expand icon (+) in the row header does not display the

detailStamp area of the table

We have to set the AutoHeightRows to a value greater than 0 because if we

leave it as -1, a blank white area is displayed in the table

Do you know the fix for this?

simple fix was to add this attribute to the table:

rowDisclosureListener=#{FixAutoHeightRows.pprTable}

Here

FixAutoHeightRows is the bean bounded to the page

pprTable is the table binding or the binding for the component that is surrounding the table