Customizing column sorting in new jsf table

The new JSF table in the creator 2 is great. I like it. It includes so many out of the box features. It is the reason we use the creator for our current project.
But I cannot figure out how to customize the column sorting.
Why do I need column sorting?
I need to sort a column that can include ad IP address or a host name. Our customer can either use a host name or an IP address to address a device in the network, both in the same column.
Now sorting an IP address is already difficult. It is actually a sort over a 4 byte number. Sorting over host names is normal alphabetic string sorting.
How to sort over both in the same column?
This cannot be done using standard sorting. I need to use a validator or something similar to customize the sorting of this column.
Can anybody help me with a hint if:
1- Customizing sorting over a column is possible. (I really would like to keep all other sorting features (icons, multi column support...)).
2- A hint or code sample, how to do this.
If this is not possible, I urge the creator team to think of implementing this soon. Otherwise one killer feature of the creator 2 will lose a lot of its teeth.

Thx mayagiri for your reply!
But including the src-code for the dataprovider package into a test project, and debugging in the creator-ide has done the thing!
Here our solution:
Class ToCompare is the object type which address field displayed in a page, simply containing a table with 2 adress colums, that can be sorted either according to our ip/hostname-comparison or according to String.compare().
* ToCompare.java
* Created on 10. Februar 2006, 10:41
* This class is a basic model object,
* with a field - String address - according
* to which it shall be sortable.
package comparator;
* @author mock
public class ToCompare {
     * holds the IP or Host address
    private String address=null;
     * Instance of a Comparator class that
     * provides our sorting algorithm
    private RcHostComparator hostComparator=null;
    /** Creates a new instance of ToCompare */   
    public ToCompare() {
        this("defaultHost");       
     * when creating a new ToCompare instance,
     * the hostComparator is created for it
     *  @ param aAddress - IP or Hostname
    public ToCompare(String aAddress) {
        address=aAddress;
        hostComparator=new RcHostComparator(address);
    public String getAddress() {
        return address;
    public RcHostComparator getHostComparator() {
        return hostComparator;
}Here the code of the Class RcHostComparator, it is created with the address field of the ToCompare object that it holds. It first checks if the address field is an IP or not, and then chooses the comparison algorithm according to its own field state and the field state of the object to compare to:
* RcHostComparator.java
* Created on 10. Februar 2006, 10:43
*  This class is used to provide a method for
*  comparing objects that have an address field,
*  containing either IP adresses or hostnames.
package comparator;
import java.text.CollationKey;
import java.text.Collator;
import java.util.Comparator;
import java.util.Locale;
* @author mock
public class RcHostComparator implements Comparator
     * holds the IP or Host address
    private String address=null;
     * Is the address an IP
    private boolean isIPAddress=false;
     * if (!isIPAddress) this is created out of the address
     * to provide a performant way of comparing it with another
     * CollationKey, in order to sort Strings localized
     *  @ see java.text.Collator
     *  @ see java.text.CollationKey
    private CollationKey hostnameCollationKey=null;
     * if (isIPAddress) this array holds
     * the 4 byte of the Ip address to compare
    private int[] intValues=null;
     * minimum for IP bytes/ints
    private static final int minIntValue=0;
     * maximum for IP bytes/ints
    private static final int maxIntValue=255;
     * Creates a new instance of IpComparator
     *  @ param aAddress  - holds the IP or Host address
    public RcHostComparator(String aAddress) {
        address=aAddress;
         * check if address is an IP
        isIPAddress=checkIP();
         * if Hostname -> instantiate localized CollationKeys
        if(!isIPAddress){
             Collator _localeCollator=Collator.getInstance(Locale.getDefault());
             hostnameCollationKey=_localeCollator.getCollationKey(address);
        }else{}
     *  Here the comparison of the address fields is done.
     *  There a 4 cases:
     *  -1 both Hostnames
     *  -2 aObject1 IP, aObject2 Hostname
     *  -3 aObject1 Hostname, aObject2 IP
     *  -4 both IPs
     *  @ param aObject1, aObject2 - Comparator objects
    public int compare(Object aObject1, Object aObject2)
      int _result= 0;
      if(aObject1 instanceof RcHostComparator && aObject2 instanceof RcHostComparator )
           RcHostComparator _ipComparator1=(RcHostComparator)aObject1;
           RcHostComparator _ipComparator2=(RcHostComparator)aObject2;
           *  Compare algorithms, according to address types
           if(!_ipComparator1.isIPAddress()&&!_ipComparator2.isIPAddress()){
                   *  If both addresses are Strings use collationKey.compareTo(Object o)
                _result=_ipComparator1.getHostnameCollationKey().compareTo(_ipComparator2.getHostnameCollationKey());
           }else{
                   *  IPs are smaller than Strings -> aObject1 < aObject2
                if(_ipComparator1.isIPAddress()&&!_ipComparator2.isIPAddress()){
                     _result=-1;
                }else{
                            *  IPs are smaller than Strings -> aObject1 > aObject2
                     if(!_ipComparator1.isIPAddress()){
                          _result=1;
                     }else{
                         int _intIndex=0;
                         int[] _int1=_ipComparator1.getIntValues();
                         int[] _int2=_ipComparator2.getIntValues();
                                  * compare IP adresses per bytes
                         while(_result==0 && _intIndex<4){
                              if(_int1[_intIndex]>_int2[_intIndex]){
                                   _result=1;
                              }else if(_int1[_intIndex]<_int2[_intIndex]){
                                   _result=-1;
                              }else{}                            
                                         _intIndex++;
      }else{}   
      return _result;
     *  checks if the address field holds an IP or a hostname
     *  if (_isIP) fill intValues[] with IP bytes
     *  if (!isIP)  create hostnameCollationKey
    private boolean checkIP(){
       boolean _isIP=false;
       String[] _getInts=null;
        *  basic check for IP address pattern
        *  4 digits also allowed, cause leading
        *  0 stands for octet number ->
        *  0172=122                  ->
        *  0172.0172.0172.0172 = 122.122.122.122
       boolean _firstcheck=address.matches("[0-9]{1,4}\\.[0-9]{1,4}\\.[0-9]{1,4}\\.[0-9]{1,4}");
       if(_firstcheck){
            _getInts=address.split("\\.");           
            intValues=new int[4];
            for (int _count=0; _count<4; _count++){
               try{                     
                   int _toIntValue;
                   if(_getInts[_count].startsWith("0")){
                            // if leading 0 parse as octet -> radix=8
                           _toIntValue=Integer.parseInt(_getInts[_count], 8);                          
                   }else{  
                            // parse as is -> radix=10 -> (optional)
                           _toIntValue=Integer.parseInt(_getInts[_count]);                          
                   if(_toIntValue<minIntValue||_toIntValue>maxIntValue){
                          // out of unsigned byte range -> no IP
                          return _isIP;
                   }else{
                          // inside byte range -> could be part of an IP
                          intValues[_count]=_toIntValue;
               }catch(NumberFormatException e){
                       // not parseable -> no IP
                       return _isIP;
           // all 4 bytes/ints are parseable and in unsigned byte range -> this is an IP
            _isIP=true;
       }else{}      
       return _isIP;
    public boolean isIPAddress() {
            return isIPAddress;
    public int[] getIntValues() {
            return intValues;
    public CollationKey getHostnameCollationKey() {
            return hostnameCollationKey;
    public String getAddress()
        return address;
}The page bean holds an array of ToCompare objects. It is the model for a new table component, hold by an ObjectArrayDataProvider. Here a code excerpt:
public class Page1 extends AbstractPageBean
    private ToCompare[] toCompare= new ToCompare[]{
        new ToCompare("1.1.1.1"),
        new ToCompare("2.1.1.1"),
        new ToCompare("9.1.1.1"),
        new ToCompare("11.1.1.1"),
        new ToCompare("0172.0172.0172.0172"),
        new ToCompare("123.1.1.1"),
        new ToCompare("a"),
        new ToCompare("o"),
        new ToCompare("u"),
        new ToCompare("z"),
        new ToCompare("�"),      
        new ToCompare("�"),
        new ToCompare("�")        
     * This method is automatically generated, so any user-specified code inserted
     * here is subject to being replaced
    private void _init() throws Exception
        objectArrayDataProvider1.setArray(toCompare);
    private TableRowGroup tableRowGroup1 = new TableRowGroup();   
    private ObjectArrayDataProvider objectArrayDataProvider1 = new ObjectArrayDataProvider();
}The relevant .jsp section for the two column table looks like:
<ui:tableRowGroup binding="#{Page1.tableRowGroup1}" id="tableRowGroup1" rows="10" sourceData="#{Page1.objectArrayDataProvider1}" sourceVar="currentRow">
  <ui:tableColumn binding="#{Page1.tableColumn1}" headerText="SortIP" id="tableColumn1" sort="#{currentRow.value['hostComparator']}">
    <ui:staticText binding="#{Page1.staticText1}" id="staticText1" text="#{currentRow.value['address']}"/>
  </ui:tableColumn>
  <ui:tableColumn binding="#{Page1.tableColumn2}" headerText="SortString" id="tableColumn2" sort="address">
    <ui:staticText binding="#{Page1.staticText2}" id="staticText2" text="#{currentRow.value['address']}"/>
  </ui:tableColumn>
</ui:tableRowGroup>Sorting localized with Locale="DE_de" according to ip/hostcompare sorts:
SortIP
1.1.1.1
2.1.1.1
9.1.1.1
11.1.1.1
0172.0172.0172.0172
123.1.1.1
a

o

u

zWhereas normal sort over String address whitout localization sorts:
SortString
0172.0172.0172.0172
1.1.1.1
11.1.1.1
123.1.1.1
2.1.1.1
9.1.1.1
a
o
u
z


�Not that short, but I hope it will help - if anyone has the need for another than the default sorting algorithms
Best regards,
Hate E. Lee

Similar Messages

  • Default column sort order for 11g table

    Could anyone give me some indication on how I would go about setting the default sort order for a table?
    I have a table with a few columns, and dataset returns in a particular order, but my table decides to sort if in any given order until I manually click on the column header and sort it.
    I would like to have it done by default on a particular field.
    Any info is appreciated.
    Thanks
    Jonny

    As Chris says, the easiest way and best re-use way is to use the order-by clause in your underlying model layer SQL query. For instance in ADF BC this would be in a View Object's query.
    However as you haven't dictated your model layer technology, there is another way in JDev 11g. In your web page that contains the ADF Faces RC table, select the binding tab at the bottom of the page, then double click on the iterator in the binding page, and in the Edit Iterator Binding dialog, select the Sort Criteria tab. This allows you to override the sort order on the iterator's columns.
    CM.

  • Need custom column widths in Append Text Table to Report

    I need to print reports with tables of different column widths specified for each column, as the contained fields vary in width from just 3 characters in one column to 40 characters in another.  Also we are trying to match the reports generated by a non-labview routine.  In the past I have been able to achieve this by editing the Append Table to Report vi, working my way through the inner hierarchy to replace the DBL numeric COLUMN WIDTH control with a DBL numeric array.  The innermost vi, Set Table Column Width, assigns the numeric to a property node in a for loop, so the change is simple: replace the scalor with an array and enable indexing on the for loop.  Of course, after each Labview upgrade, I've had to go back in and repeat these edits on the overwritten upgraded vi's.  This time there is a problem.  The new version of this toolkit is object oriented, and disturbing these vi's wrecks the class methods in a way I don't understand (mostly because I've had no dealings with object oriented programming) and which cannot be undone.  I recently tried this and after not being able to fix the problem even with phone support, I had to spend the next two days unistalling and reinstalling Labview!  I desperately need a way to achieve this functionality without killing the toolkit, which is used (in its original functionality) by another absolutely critical program.  PLEASE HELP!
    The hierarchy is as follows:
    NI report.lvclass:Append Table to Report (wrap)
    NI report.lvclass:Append Table to Report 
    NI Standard report.lvclass:Append Text Table to Report
    NI Standard report.lvclass:tables
    NI Report Generation Core.lvlibet Table Column Width

    There is a highly relevant thread under discussion here:
    http://forums.ni.com/ni/board/message?board.id=fea​tures&thread.id=429
    You may wish to read it and chime in as it is a discussion of LabVIEW's policy (and possible change in policy for the future) concerning the handling of non-palette VIs between LV versions.
    Rob Hingle wrote:
    > Is that to say NI will not be helping me with this?  Pretty disappointing lack of support, seems
    > like a terrible idea to go to object oriented if even your own application engineers can't figure
    > out such a simple fix.  Gotta give NI a huge thumbs down on this one, thanks for nothing.
    I doubt that it is a simple fix -- our AEs are generally top notch at figuring out solutions for customers -- if it were simple, my bet is they'd have solved it. Asking an AE to work around a bug is different from asking them to rearchitect the toolkit. You are asking them to add a feature that the new version of the toolkit is not
    designed to support. The difficulty in doing this is completely independent of the decision to use LabVIEW classes to implement the toolkit. If any piece of software is not designed with a particular use case in mind, what may be a simple tweak under one design may become a very hard problem under another design.
    In your case, the solution is very straightforward: Use the older version of the toolkit. Any time you create a custom modification of the VIs that ship with LV or one of its toolkits, you should make your own copy and have your VIs link against the copy. LabVIEW promises to maintain all the public functionality version over version. Usually we succeed at that. What we do not promise is to maintain our private implementation of that functionality. It is impossible for LabVIEW (or any other software library) to maintain all of its private internal operations while still continuing any development. Using a copy of the original VIs shields you from having to recode your changes every version (something you've already mentioned is a chore) and it guarantees that functionality that you relie upon does not disappear.
    I hope you are willing to be understanding of this situation and not hold it against the AEs working on this. They try hard to provide excellent customer service, and spend lots of time inventing custom solutions for our users.  This happens to be a situation where the correct fix is not to modify the new toolkit version to do something it wasn't designed to do but to modify your development process so that the problem is solved now and into the future. 

  • JTable with custom column model and table model not showing table header

    Hello,
    I am creating a JTable with a custom table model and a custom column model. However the table header is not being displayed (yes, it is in a JScrollPane). I've shrunk the problem down into a single compileable example:
    Thanks for your help.
    import javax.swing.*;
    import javax.swing.table.*;
    public class Test1 extends JFrame
         public static void main(String args[])
              JTable table;
              TableColumnModel colModel=createTestColumnModel();
              TestTableModel tableModel=new TestTableModel();
              Test1 frame=new Test1();
              table=new JTable(tableModel, colModel);
              frame.getContentPane().add(new JScrollPane(table));
              frame.setSize(200,200);
              frame.setVisible(true);
         private static DefaultTableColumnModel createTestColumnModel()
              DefaultTableColumnModel columnModel=new DefaultTableColumnModel();
              columnModel.addColumn(new TableColumn(0));
              return columnModel;
         static class TestTableModel extends AbstractTableModel
              public int getColumnCount()
                   return 1;
              public Class<?> getColumnClass(int columnIndex)
                   return String.class;
              public String getColumnName(int column)
                   return "col";
              public int getRowCount()
                   return 1;
              public Object getValueAt(int row, int col)
                   return "test";
              public void setValueAt(Object aValue, int rowIndex, int columnIndex)
    }Edited by: 802416 on 14-Oct-2010 04:29
    added                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

    Kleopatra wrote:
    jduprez wrote:
    See http://download.oracle.com/javase/6/docs/api/javax/swing/table/TableColumn.html#setHeaderValue(java.lang.Object)
    When the TableColumn is created, the default headerValue  is null
    So, the header ends up rendered as an empty label (probably of size 0 if the JTable computes its header size based on the renderer's preferred size).nitpicking (can't resist - the alternative is a cleanup round in some not so nice code I produced recently <g>):
    - it's not the JTable's business to compute its headers size (and it doesn't, the header's the culprit.) *> - the header should never come up with a zero (or near-to) height: even if there is no title shown, it's still needed as grab to resize/move the columns. So I would consider this sizing behaviour a bug.*
    - furthermore, the "really zero" height is a longstanding issue with MetalBorder.TableHeaderBorder (other LAFs size with the top/bottom of their default header cell border) which extends AbstractBorder incorrectly. That's easy to do because AbstractBorder itself is badly implemented
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6459419
    Thanks for the opportunity to have some fun :-)
    JeanetteNo problem, thanks for the insight :)

  • Custom report sorting

    Custom report sorting
    I need to display the report column header in vertical format, hence I’ve to use to use some css code along with column name for that. Also, I want this column to be sorted by clicking the column name. So, I’m embedding the following url along with css and column name to enable sorting on this column when user clicks the column header. I got the following url by looking at the standard report with sorting enabled on a column.
    http://test.com:7777/pls/htmldb/f?p=100:22:&APP_SESSION:fsp_sort_1::RP&fsp_region_id=1870116795285540
    My questions are …
    How can I toggle the url to append “_desc” to the fsp_sort_1 parameter dynamically when the user clicks the column name, as it is done when standard column sorting is selected.?
    How can pass region id dynamically in the above url (last number in the url)?
    Any ideas are appreciated
    Thanks,
    Surya

    hi pavan
    i can just tell you that i had no issues with custom column sorting in webi with Enterprise XI 3.0 and Xcelsius 2008.
    Best Regards
    Ulrich

  • How to get custom columns from Database in BO Universe

    Hi,
    We have 'n' databases. All the databases have identical tables and views but some tables in few database have custom columns.
    Ex. 'database1' has table 'sites' with the following columns
           1. sitenumber
           2. sitename
           3. siteaddress
           4. phone
           5. email
    'database2' has table 'sites' with the following columns
           1. sitenumber
           2. sitename
           3. siteaddress
           4. phone
           5. email
           6. IsDepot
    The condition says that
    "If IsDepot field is present in the site table then list sites where IsDepot equals 0 or null otherwise list all sites"
    How do i create a condition at the universe level which checks whether the object 'IsDepot" is present in the database or not.
    A single universe needs to be created for this purpose

    Hi,
    We have implemented a solution for the IsDepot problem as mentioned above.
    It is not done at the BO Universe level but at the SQL Server database level.
    Steps Followed:
    1. Created a stored procedure which checks the 'syscolumns' table for available fields
    2. The SP creates a temp table with a value list based on previously mentioned conditions
    3. This temp table can be used in the universe or a condition can be used to filter data based on this temp table.
    Thanks,
    Arun

  • Dynamic Column sorting in OBIEE?

    Hi,
    Does anybody knows how to sort columns dynamically in a report on asc or desc order.Any automatic mechanism.

    Gianluca Ancarani wrote:
    You can use in the RPD (in the Business Model Layer) a specific COLUMN SORT to sort a scecific Logical Column, in this way a column in a report is always sorted, but you have to build the specific COLUMN SORT inside the physical table or in the business model layer.
    See this blog: http://obiee101.blogspot.it/2008/11/obiee-sort-order-column-property.html
    Regards,
    GianlucaI think the user is trying to sort the report based on the Names of the columns rather than the data in a specific column.

  • Unable to capture the adf table column sort icons using open script tool

    Hi All,
    I am new to OATS and I am trying to create script for testing ADF application using open script tool. I face issues in recording two events.
    1. I am unable to record the event of clicking adf table column sort icons that exist on the column header. I tried to use the capture tool, but that couldn't help me.
    2. The second issue is I am unable to capture the panel header text. The component can be identified but I was not able to identify the supporting attribute for the header text.

    Hi keerthi,
    1. I have pasted the code for the first issue
    web
                             .button(
                                       122,
                                       "/web:window[@index='0' or @title='Manage Network Targets - Oracle Communications Order and Service Management - Order and Service Management']/web:document[@index='0' or @name='1824fhkchs_6']/web:form[@id='pt1:_UISform1' or @name='pt1:_UISform1' or @index='0']/web:button[@id='pt1:MA:0:n1:1:pt1:qryId1::search' or @value='Search' or @index='3']")
                             .click();
                        adf
                        .table(
                                  "/web:window[@index='0' or @title='Manage Network Targets - Oracle Communications Order and Service Management - Order and Service Management']/web:document[@index='0' or @name='1c9nk1ryzv_6']/web:ADFTable[@absoluteLocator='pt1:MA:n1:pt1:pnlcltn:resId1']")
                        .columnSort("Ascending", "Name" );
         }

  • Problem with Column Sorting in Request Table View

    We've enabled column sorting on the table view in an Answers request but it doesn't work when more than around 400 rows are returned. It works Ok when fewer than 400 rows are returned. Does anyone know if there is a specific limit to the number of rows where column sorting works?
    Thanks,
    Mike

    I've dug into the query log a little more. When this request returns more than around 400 records and you click on a column heading to sort the table view, the query from the log is not changing to reflect the new sort order. It stays as whatever the default sort order was for the request.
    Column heading sorting on other requests in different subject areas on this same server works fine. I've tested this other request with up to 6400 rows returning and it's sorting works.
    All caching is turned off for the subject area.

  • Af:table column sort icon does not appear

    Hi,
    if I use the declarative way to handle column sorting the tablecolumn gets a icon which indicates sorting.
    For one column I have to set the sorting programmatically by using CoreTable's setSortCriteria method .
    In this case the sort icon doesn't appear!? Is that right?
    regards, Florian

    thanks Frank!
    It's not a question of enable/disable the sorting feature of the table column.
    It's about the requirement to sort the column like in this sql statement:
    select c1 || c2 || c3 as c123
    from myTable
    order by c1, c2, c3 asc;
    The column is sortable by default (column data is concatenated like in c123).
    I use following code in the SortListenerMethod to enable the sorting for the requirement above:
    CoreTable ct = this.getMyTable();
    List<SortCriterion> critlist = new ArrayList<SortCriterion>();
    boolean sortOrderAsc = true;
    critlist.add(new SortCriterion("c1", sortOrderAsc));
    critlist.add(new SortCriterion("c2", sortOrderAsc));
    critlist.add(new SortCriterion("c3", sortOrderAsc));
    ct.setSortCriteria(critlist);
    using this always prevent the sortIcon from showing.
    On the other hand my sortIcon comes up using the declarative way.
    Or is there a way to accomplish the sorting above by using other ways?

  • Addition of a custom column in a table view

    Hi all,
    I want to add a custom column in a table view. Kindly tell me if this is possible.
    Regards,
    Vivek Pandey

    Hi Vivek,
    This can definately be done....you will have to declare and iterator and in the GET_COLUMN_DEFINITIONS, declare the column name....
    Referr to blogs :
    <a href="/people/brian.mckellar/blog/2003/10/31/bsp-programming-htmlb-tableview-iterator Basics</a>
    and
    <a href="/people/thomas.jung3/blog/2004/09/15/bsp-150-a-developer146s-journal-part-xi--table-view-iterators Iterator.</a>
    The second blog shows how to insert a icon, which is an extra column...
    Hope this helps.
    <b><i>Do reward each useful answer..!</i></b>
    Thanks,
    Tatvagna.

  • How to Sort Dimension in Pivot Table via Order Column which is changing like Factual values

    Hi,
    Recently in of our product offerings we got stuck on this following question:
    How to Sort Dimension based on the Order Value which Keeps Changing with Factual Values??
    We have a data source laid out as (example)
    In the above the “Order” columns are changing per
    Company/(DimensionA) for DimesnsionB.
    Instead what we want is: (But only if we can get the following result without putting the “Order” Column in the “Values” Section. 
    If there are any configurations that we can make to our power pivot model for the similar data set so that the
    DimesnionB in this case can be sorted by the Order column, would be greatly helpful to us. 
    Sample File:
    http://tms.managility.com.au/query_example.xlsx
    Thanks
    Amol 

    Hi Amol,
    According to your description, you need to sort dimension members in Pivot Table via order column, and you don't want the order column show on the Pivot table, right?
    Based on my research, we can sort the data on the Pivot table based on one of the columns in that table, and we cannot sort the data based on the columns that not existed on the Pivot table. So in your scenario, to achieve your requirement, you can
    add the column to pivot table and hide it.
    https://support.office.com/en-gb/article/Sort-data-in-a-PivotTable-or-a-PivotChart-report-49efc50a-c8d9-4d34-a254-632794ff1e6e
    Regards,
    Charlie Liao
    TechNet Community Support

  • Adding custom column to a Data Table (bound to database table)

    Hello,
    I've added an additional "Output Text" column to an existing "Data Table" component, which is pulling a database table and rendering it. It's actually called "OutputText5". What I want to do, is set the value of the "OutputText5" dynamically, depending on a Date comparison between the system date, and one of the currentRow field values, which is actually an Oracle Date data type. basically I'm trying to use the Date.after() comparison and put different content in there depending on true or false evaluation.
    Seems simple enough .. but.. I'm trying to do this without using vim and JSP Beans (how I'd usually do this). I'm not experienced with JSF components and how this would be done using JSC - can I iterate over currentRow or something inside the "Page1.java" source? Is there an easy way to create dynamic value bindings like this in Data Table components in general? Maybe using expressions in "OutputText5" properties or something? I figure I should ask about doing this the easy way, before I spend lots of time and start teaching myself bad habbits.
    I apologise in advance if this is a repeat post. I spent some time searching ,but came up empty handed.
    Thanks in advance.
    David Basham

    Hi David,
    Here's some ideas to try on:
    http://swforum.sun.com/jive/thread.jspa?forumID=123&threadID=49459
    hth,
    v

  • SWT table widget and multi column sorting

    Hello,
    I want to make the standard SWT table widget support multi column sorting.
    Searching on the web didn't lead to useful results. The Nebula project should be the last option.
    I guess I need a comparator chain, but how do I realize aspects like let columns appear blue when marked or mark multiple columns by pressing shift key and left mouse button?
    Any examples are much appreciated.
    Thank you very much!
    Regards,
    Mick

    Hello,
    I want to make the standard SWT table widget support multi column sorting.
    Searching on the web didn't lead to useful results. The Nebula project should be the last option.
    I guess I need a comparator chain, but how do I realize aspects like let columns appear blue when marked or mark multiple columns by pressing shift key and left mouse button?
    Any examples are much appreciated.
    Thank you very much!
    Regards,
    Mick

  • Simple custom JSF table

    Could somebody point me to a complete example of a custom simple JSF table component?
    I don’t want special effects; I look for pedagogical code that teaches appropriate way of construct a custom JSF table, from beginning to end.
    thanks!

    Pedagogical code? :)
    Explore the source code of any open source UIData components.

Maybe you are looking for