IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  toggle multiple table column

    Posted Mon April 08, 2013 11:53 AM

    Hi,
    I would like show/hide some table’s columns clicking on one header column.
    I tried using “one way toggle link” but I can show/hide only one column (single control). I tried to set more than one controls in “for” property of “one way toggle link” setting the controls with comma as separator.
    All the columns have “Allow Toggle” property setted true.
    How can I use the toggle feature to show/hide more than one columns (multiple controls) ?

    Thanks
    Bye
    Fabio


    #webMethods
    #webMethods-BPMS
    #MWS-CAF-Task-Engine


  • 2.  RE: toggle multiple table column

    Posted Mon April 08, 2013 03:05 PM

    I believe the “one way toggle” controls only support one control id in the “for” property.

    You could probably solve the problem by using an “Async Command Link” instead. Inside the java code of your command handler, you can change the value of the ‘Rendered’ field of the columns you don’t want to render.

    When the table redraws after the async command runs, the columns you chose not to render would no longer be there.


    #webMethods
    #webMethods-BPMS
    #MWS-CAF-Task-Engine


  • 3.  RE: toggle multiple table column

    Posted Tue April 09, 2013 06:35 AM

    Hi Eric,
    thanks for advice.
    It works fine. My requirement is to put this “async command link” as a column’s header of the table, but when I click the link I lost the sort feature.
    There is a way to put one text and one link in the same header’s column to have the both the feature?
    Thanks
    Bye
    Fabio


    #webMethods
    #webMethods-BPMS
    #MWS-CAF-Task-Engine


  • 4.  RE: toggle multiple table column

    Posted Tue April 09, 2013 04:23 PM

    Perhaps your command handler java code could update the sort column as well.

    For example, invoke something like this:

    
    /**
    * Update the table sort details
    * @param dataTable the table control to process
    * @param sortByColumnId the id of the column to sort by
    * @param sortAscending true for ascending sort order, false for descending
    */
    protected void changeSortColumn(UIData dataTable, String sortByColumnId, boolean sortAscending) {
    if (dataTable != null) {
    //loop through all the columns and configure which one to sort by
    for (Iterator<UIComponent> it = dataTable.getChildren().iterator(); it.hasNext();) {
    UIComponent child = it.next();
    if (child instanceof IExtendedColumn) {
    //fix sort/order
    if (StringTools.notEmpty(sortByColumnId)) {
    if (child.getId() != null && child.getId().equals(sortByColumnId)) {
    //this is the sort column, so set-up the sorting
    ((IExtendedColumn)child).setOrdinal(1);
    ((IExtendedColumn)child).setAscending(sortAscending);
    } else {
    //not sorting by this column, so clear the ordinal
    ((IExtendedColumn)child).setOrdinal(0);
    }
    }
    }
    }
    }
    }

    #webMethods-BPMS
    #MWS-CAF-Task-Engine
    #webMethods