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

4 thoughts on “AutoHeightRows along with detailStamp

  1. Barry

    Any chance that you can post the source of FixAutoHeightRows.pprTable?

    I’m having the same problem. I’ve tried

    public void myDisclosureListener(RowDisclosureEvent event) {
    RichTable component = (RichTable)event.getSource();
    AdfFacesContext.getCurrentInstance().addPartialTarget(component);
    }

    But it doesn’t seem to be working 😦

    Reply
  2. vtkrishn Post author

    Add a binding to the component that encloses the table. May be in your case the panelCollection
    This will give you a get() and
    set() in the bean code for the table

    public void setResultsAppTable(RichDeclarativeComponent
    resultsAppTable) {
    this.resultsAppTable = resultsAppTable ;
    }

    public RichDeclarativeComponent getResultsAppTable() {
    return resultsAppTable ;
    }

    Add a new bean method in rowDisclosureEvent property of the af:table eg

    rowDisclosureListener=”#{MyUiBean.rowDisclosureEvent}”

    In the bean code of step 2, add a refresh for the component.
    Eg
    public void rowDisclosureEvent(RowDisclosureEvent rowDisclosureEvent) {
    // Add event code here…

    AdfFacesContext.getCurrentInstance().addPartialTarget(this.getResultsAppTable());
    }

    Reply
  3. Barry

    It never occurred to me that I needed to refresh the containing component! I just added an af:group around the table, and changed my code to:

    public void myDisclosureListener(RowDisclosureEvent event) {
    RichTable component = (RichTable)event.getSource(); AdfFacesContext.getCurrentInstance().addPartialTarget(component.getParent());
    }

    and it now works great. Nice one! (thanks for the quick response too!)

    Barry.

    Reply
  4. Pingback: Some April 2015 Notes/Tips | codeplay

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s