Column header sorting: Checkboxes

Column header sorting doesnt seem to work like one would expect when the column is a checkbox rendered using htmldb_item.checkbox().
If I have a some boxes checked, some unchecked on a page and I click on the column header, I would expect all the checked and unchecked boxes to show up together. But they dont. Does the HTML for the checkbox interfere with the sorting? Is there a way to make it sort what you see on screen?
Thanks

Vikas,
What you get when using htmldb_item calls in your query are varchar2 columns. So it’s ordered by the resulting strings, including all HTML tags that are rendered by that procedure. You might be able to do what you are describing by using Tyler’s sorting hack somehow:
Dynamic Selection of Report Column Format
Regards,
Marc

Similar Messages

  • Query can't include an "ORDER BY" clause when having column heading sorting

    I'm getting the following error when I try to include "ORDER BY" in my sql statement :
    "Your query can't include an "ORDER BY" clause when having column heading sorting enabled"
    I have used other sql statements with "ORDER BY" but this is the first time I have come across this and I don't understand why it's going wrong. Does anyone have a suggestion as to how I could fix it? Here is one of the sql statements which I have tried which is giving me the error:
    select "ID_NUMBER",
    "PROJECT_NAME",
    "PROJECT_TYPE",
    "OWNER",
    "PRIORITY",
    "STATUS",
    "END_DATE",
    "COMMENTS"
    from "PROJECT"
    WHERE "STATUS" != 'Completed' AND "STATUS" != 'Cancelled'
    ORDER BY "END_DATE"
    Regards,
    Ed.

    You must deselect column heading sorting that is in the page "Report Attributes" .This is a check box placed on the same line of the element of the report.
    bye

  • Tooltip for column header sorting

    If I enable column header sorting, is there a way to put a tooltip (HTML 'title' property, I guess) on the column header saying 'Click here to sort by this column'?
    The triangle image shows this alt text but that triangle image is shown only next to the column that is currently sorted, not all the columns.
    [My column headings come from a custom PL/SQL function, not declaratively on the Report Attributes page]
    Thanks

    See
    http://htmldb.oracle.com/pls/otn/f?p=24317:28
    The following seems to work.
    Add this javascript to the Page Attributes Header section
    <script type="text/javascript">
    function AddTooltip()
    var l_link;
    var l_hrefs=document.links;
    for (var i=0; i < l_hrefs.length; i++) {
       l_link=l_hrefs;
    if (l_link.href && l_link.href.indexOf('fsp_sort_')>=1) {
    l_link.title="This is a tooltip"
    </script>
    Then call it from the onLoad as follows
    onLoad="AddTooltip();"
    Seems to work like a charm.
    Thanks
    BTW, anyone know how to prevent the [ i ] inside a [ pre ] from being interpreted as an italic tag? I thought all text inside a PRE tag is left untouched?

  • How to implement column header sort

    Hi all,
    Does anyone know how to configure Oracle 9i AS Portal Release 2 column header sort.
    In Portal, Oracle has setup the IDE to sort your columns using arrow keys in the
    column headers. I would like to do the same thing without using the Custom Form.
    TIA,
    Daniel N

    I would suggest using the built in Collections framework for sorting.
    have class A implement the Comparable interface then implement the compareTo method as follows:
    public int compareTo(Object o) {
        A a = (A)o;  // <-- may cause ClassCastException if (o instanceof A) != true, but that should not be a problem.
        int value = attr1.compareTo(a.attr1);
        if (value != 0) return value;
        value = attr2.compareTo(a.attr2);
        if (value != 0) return value;
        value = a.attr3.compareTo(attr3);  //Notice I switched a.attr3 and attr3 for desc
        return value;
    }That should do it for you.
    Now put everything into an instance of java.util.List and pass that to java.util.Collections.sort(java.util.List);
    If you didn't create class A, and therefore can't add a method to it, then implement a Comparator. The idea is the same, just look at the java.util.Comparator API and use java.util.Collection.sort(java.util.List, java.util.Comparator) method to sort;

  • Column header sorting: NULLS first/last

    Column header sorting doesnt seem to support the NULLS FIRST /LAST feature of the SQL ORDER BY clause.
    So, if my data has nulls in it, I cant control where they appear when I click on the column header to sort it.
    Is this added to the upcoming 2.0 version?
    Thanks

    Same question over here: in the J2EE app that I'm rebuilding with Apex, we use NULLS last in all pages, wether order is descending or ascending.
    Is 'nulls first/last' supported in any way now?
    Are there workarounds to achieve this?
    Thanks,
    Toon Koppelaars

  • Column header sort - case sensitivity issue

    Hi guys,
    I'm having an issue with the built in column sorting when you click the headers on a report. Basically case sensitivity is taken into account and capital letters get sorted before smaller case letters, for example:
    Cats
    Dogs
    Zebra
    ants
    bears
    How would I be able to fix this built in sort?
    Thanks,
    Luis

    Luis,
    See if Denes's solution helps: Report sort by column header question .
    Scott

  • Column header sorting

    Is there a way I can click on a displayed column (A) and have the actual sort be performed on the value in another hidden column B?
    Thanks

    Yes.
    select empno,ename
      from empEdit the report attributes > Edit the Empno Column
    In the "HTML Expression" field near the top, of the empno column attributes page, type in:
    #ENAME#
    Save it then un-check the "show" column for ename on the report attributes page. You can also change the column header for empno to "Name" (or whatever you want).
    Basically, you are displaying the ename data in the empno column. It will sort on empno, but display ename.
    Thanks,
    Tyler

  • Selecting multiple rows using column header with checkbox in it.

    Dear All.,
    I am trying to select multiple rows with checkbox in column header but it doesnot works...
    Following is my codel
    <af:table value="#{bindings.xx.collectionModel}"
                          var="row"
                          rows="#{bindings.xx.rangeSize}"
                          emptyText="#{bindings.xx.viewable ? 'No data to display.' : 'Access Denied.'}"
                          fetchSize="#{bindings.xx.rangeSize}"
                          rowBandingInterval="1"
                          filterModel="#{bindings.xx.queryDescriptor}"
                          queryListener="#{bindings.xx.processQuery}"
                          varStatus="vs" partialTriggers="sbcSelectAll sbcChkFlag"
                          selectedRowKeys="#{bindings.xx.collectionModel.selectedRow}"
                          selectionListener="#{bindings.xx.collectionModel.makeCurrent}"
                          rowSelection="none" id="tCdMast" width="400"
                          columnStretching="column:c4" inlineStyle="height:200px;">
                  <af:column sortProperty="ChkFlag" filterable="true"
                             sortable="true"
                             headerText="#{bindings.xx.hints.ChkFlag.label}"
                             id="c2" width="55"
                             inlineStyle="#{row.ChkFlag ? 'background-color:#9CACC9;' : ''}">
                    <af:selectBooleanCheckbox simple="true" value="#{row.ChkFlag}"
                                              selected="#{row.ChkFlag}" id="sbcChkFlag"
                                              autoSubmit="true" immediate="true"/>
                    <f:facet name="header">
                      <af:selectBooleanCheckbox simple="true"
                                                autoSubmit="true"
                                                valueChangeListener="#{xxBean.onTableChkAllCheckChanged}"
                                                id="sbcSelectAll"/>
                    </f:facet>
                  </af:column>
    </af:table>
    Managed Bean
        public void onTableChkAllCheckChanged(ValueChangeEvent valueChangeEvent) {
            Boolean newValue =
                Boolean.valueOf(u.nvlString(valueChangeEvent.getNewValue(),
                                            "false"));
            Boolean oldValue =
                Boolean.valueOf(u.nvlString(valueChangeEvent.getOldValue(),
                                            "false"));
            if (newValue.equals(oldValue))
                return;
            int rowIndex=0;
            ViewObject vo = u.findIterator("xxIterator").getViewObject();
            vo.reset();
            while(vo.hasNext()){
              Row row;
              if(rowIndex==0)
                  row=vo.first();
              else
                  row=vo.next();
                 row.setAttribute("ChkFlag", newValue.booleanValue());
              rowIndex=1;
            u.addPartialTargets(tableDocuments);
        }Please help!!.
    Thanks & Regards,
    Santosh.
    jdeve 11.1.1.4.0

    Can you check this sample in the blog post?
    http://sameh-nassar.blogspot.com/2009/12/use-checkbox-for-selecting-multiple.html
    Thanks,
    Navaneeth

  • Can clicking on column heading sort the column contents instead of drill in

    I have a pivot table with data that the client doesn't want to drill into. Instead, they want to be able to click the column heading and have the pivot table re-sort the data in the table based on the data in that column. Is that possible, or are clickable column headings only used for drilling in OBIEE? Thanks.

    Madan -
    That seems like a feature that should be added to the Pivot Table view if they are going to have it in the Table View. Still, thanks for pointing out the "Enable column sorting in Dashboards" check box in the Table view. I'll see if I can either get this data into the Table view, or at least let the client know the limitations of OBIEE.
    Thanks again.
    Daniel

  • Problem with column heading sorting

    I have a problem with a classic report.
    I created a simple report. We want to sort the report, when we click the column heading. But when we cklick on the column heading, nothing happens. In firefox we get the error "apex.jQuery.datepicker is undefined".
    When we created another simple report and connect against another database (but the same web-server), we can sort the report, when we cklick a column heading. On both databases we installed the same apex version (=4.0.1.00.03).
    on "apex.oracle.com" (workspace:ama / user:demo / pwd:demo) I created an example.
    what is wrong?? Can anyone help me ??
    Thanks
    Robert

    Hi Jari,
    yes, you are right. I changed my query. I attempted to find a solution and so I changed the query several times => I used other tables, with or without date columns, with or without columns in the select and so on.
    You said, the problem is the authentication scheme. It crossed my mind that I do another change:
    during the creation of my application apex created a login page => page 101. For my example application I don't need a login page, and so I droped the page. After starting the application I saw the error message "page 101 not found ". So I searched for a property where apex definies the "start page" respectively "login page". But I don't found anything. Then I looked into the export file and searched for "101". I found the package procedure "wwv_flow_api.create_auth_setup" and the parameter "p_invalid_session_page", which receive the value "101". In apex the property "Session Not Valid Page" was blank. So I inserted the page number "1" (=the first and sole page in my application).
    After the explained changes I could start my report.
    I don't know, whether these informations help to find the problem!
    Regards
    Robert

  • Webdynpro Table: Column Header sort icon not visible

    In design time in NWDS, my table headers have this up/down arrow icon that is visible to indicate sorting.
    At runtime it is not displayed.  How come?

    Hi KF,
    According to the Node Structure
    Employee
    |----
    name
    |----
    no
    |----
    sal
      public static void wdDoModifyView(IPrivateEmployeeView wdThis, IPrivateEmployeeView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
    if (firstTime) {
               IWDTable sortTable = (IWDTable) view.getElement("Put the table id here");
    <b>
               wdContext.currentContextElement().setEmployeeTableSorter(new TableSorter(sortTable, wdThis.wdGetSortEmployeeAction(), null,
               new String[]{"name","no","sal"})); </b>
    //Instead of column id passes the attribute name of the node that is bound with the table.
    //EmployeeTableSorter is the context attribute of type …….utils.TableSorter
      public void onActionSortEmployee(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionSortFundID(ServerEvent)
         wdContext.currentContextElement().getEmployeeTableSorter().sort(wdEvent, wdContext.nodeEmployee());
        //@@end
    Table Sorter : table not getting sorted
    Regards,
    Mithu

  • Sort by clicking on the column heade with LIFO

    Good morning!
    I would like to sort by last entry is first (LIFO) in my report.
    To do that, I have to un check in sort:
    Home>Application Builder>Application ***>Page 1>Report Attributes*(Otherwise APEX shows: "Your query can't include an "ORDER BY" clause when having column heading sorting enabled.")*
    When I follow the APEX suggestion, my report lost feature to sort by clicking on the column header.
    I still want to keep sorting ability on any column just by clicking on the column header.
    Thanks in advance,
    Sam

    Sam,
    First remove the order by clause from your query and then try to set the sorting using the sort sequence. Thanks.
    Regards,
    --Manish                                                                                                                                                                                                                                                                                               

  • JTable - Check box in column header with sorting

    Hello
    I have 3 problems/questions.
    1. When adding sorting to a table with
    setAutoCreateRowSorter(true);and you click on a column header, normally a sorting arrow will appear, and indicate in what direction its sorting,
    but in the column head with the checkbox, even though the sorting works, the arrow will never appear. Is there anyway to fix this?
    2. Is there anyway to get the checkboxes in the table cells to be aligned left (I dont mean the columnheader checkbox, but the ones below)?
    3. When you click on the columnheader to either sort or check the checkbox, you will have to wait about a second between each click, or else it won't react and won't sort. sometimes you will have to click twice for it to react. If you click a lot of times fast, then it won't react until you stop for a second, and click again, though it will react only on the first click, but not the secont, third, fourh, and so on, until you stop for a second. Is there anyway to fix this, or atleast make it have a better reaction time?
    This is the code for creating the table:
    public class Example extends JFrame{
        private Container container;
        private JTable exampleTable;
        public Example(){
            container = getContentPane();
            ExamleTableModel examleTableModel = new ExamleTableModel();
            exampleTable = new JTable(examleTableModel);
            TableColumn tc = exampleTable.getColumnModel().getColumn(0);
            tc.setCellEditor(exampleTable.getDefaultEditor(Boolean.class)); 
            tc.setCellRenderer(exampleTable.getDefaultRenderer(Boolean.class)); 
            tc.setHeaderRenderer(new CheckBoxHeader(new MyItemListener()));
            container.add(new JScrollPane(exampleTable), BorderLayout.SOUTH);
            exampleTable.setAutoCreateRowSorter(true);
            setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );       
            this.pack();
            setSize(500,500);
            setVisible(true);
        }This is the code for the checkboxheader:
        class MyItemListener implements ItemListener 
                public void itemStateChanged(ItemEvent e) { 
                    Object source = e.getSource(); 
                    if (source instanceof AbstractButton == false) return; 
                    boolean checked = e.getStateChange() == ItemEvent.SELECTED; 
                    for(int a = 0, b = exampleTable.getRowCount(); a < b; a++) { 
                        for(int c = 0, d = exampleTable.getRowCount(); c < d; c++) { 
                            if(exampleTable.getColumnName(c).equals("")){
                                exampleTable.setValueAt(new Boolean(checked),a,c);
        class CheckBoxHeader extends JCheckBox 
            implements TableCellRenderer, MouseListener {
            protected CheckBoxHeader rendererComponent; 
            protected int column; 
            protected boolean mousePressed = false; 
            public CheckBoxHeader(ItemListener itemListener) { 
                rendererComponent = this; 
                this.setHorizontalAlignment(JLabel.LEFT);
                rendererComponent.addItemListener(itemListener); 
            public Component getTableCellRendererComponent( 
                    JTable table, Object value, 
                    boolean isSelected, boolean hasFocus, int row, int column) { 
                if (table != null) { 
                    JTableHeader header = table.getTableHeader(); 
                    if (header != null) { 
                        rendererComponent.setForeground(header.getForeground()); 
                        rendererComponent.setBackground(header.getBackground()); 
                        rendererComponent.setFont(header.getFont()); 
                        header.addMouseListener(rendererComponent); 
                setColumn(column); 
                rendererComponent.setText("");
                setBorder(UIManager.getBorder("TableHeader.cellBorder")); 
                return rendererComponent; 
            protected void setColumn(int column){this.column = column;} 
            public int getColumn(){return column;} 
            protected void handleClickEvent(MouseEvent e) { 
                if (mousePressed) { 
                    mousePressed=false; 
                    JTableHeader header = (JTableHeader)(e.getSource()); 
                    JTable tableView = header.getTable(); 
                    TableColumnModel columnModel = tableView.getColumnModel(); 
                    int viewColumn = columnModel.getColumnIndexAtX(e.getX()); 
                    int column = tableView.convertColumnIndexToModel(viewColumn); 
                    if (viewColumn == this.column && e.getClickCount() == 1 && column != -1) { 
                        doClick(); 
            public void mouseClicked(MouseEvent e) { 
                boolean active=true;
                JTableHeader header = (JTableHeader)(e.getSource()); 
                switch (e.getID()) {
                case MouseEvent.MOUSE_CLICKED:
                case MouseEvent.MOUSE_PRESSED:
                case MouseEvent.MOUSE_RELEASED:
                    JTable tableView = header.getTable();
                    TableColumnModel columnModel = tableView.getColumnModel();
                    int viewColumn = columnModel.getColumnIndexAtX(e.getX());
                    int column = tableView.convertColumnIndexToModel(viewColumn);
                    Rectangle bounds = tableView.getCellRect(-1, column, false);
                    if (e.getX() > bounds.x + 16) { // only if one the checkbox
                        if (e.getID() == MouseEvent.MOUSE_CLICKED) {active = false;}
                    }else{active=true;}
                if(active){
                    handleClickEvent(e); 
                    ((JTableHeader)e.getSource()).repaint();   
            public void mousePressed(MouseEvent e){mousePressed = true;} 
            public void mouseReleased(MouseEvent e){} 
            public void mouseEntered(MouseEvent e){} 
            public void mouseExited(MouseEvent e){} 
    }If you want the code for the ExamleTableModel, I will post it if you ask (having trouble with the character limit).

    What are you supposed to cast it to? I might have tried to cast it to something wrong.
    I tried
    TableCellRenderer tcr = table.getDefaultRenderer(Boolean.class);
    ((DefaultTableCellRenderer)tcr).setHorizontalAlignment(SwingConstants.LEFT);and that gave me a ClassCastException. But I might have been trying to cast it to the wrong thing.

  • Sorting the report by clicking the column header

    Hello,
    Currently working on a requirement where i need to sort the report by clicking the column header. Can anyone please help me on this.
    Suppose i have 3 colums deptno,dname,sal fields in my report. if i click deptno column header,  report has to sort by deptno.Like that i need for other columns also.
    Any help is really appreciated
    Thanks
    Ram

    Hello,
    You can sort the fields using method suggested by Cauvery. However if you would like to have Ascending/ Descending sort order control at column header, then would require to implement few additional steps.
    First do the sorting of field using the way suggested by Cauvery. Once sorting is done, right  click on the column name and  select the option ' Bind Sort Control'. You will see the sorted field in the window. select the field and click ok.
    Now you would get 2 arrows on column. If you click upper arrow, fields would be sorted in Ascending Order and if you click on down arrow, it would  be in Descending order.
    Regards,
    Chinmay Athavale

  • How to sort data in descending order when user clicks on the column heading

    Hi
    I have a report called "Top customers", which shows the top customers for a specific product line. It displays the customer name and one column with the total amount spent in the period for each product line. By default, the leftmost product line is sorted in descending order.
    If the user wants to know who are the top customers for another product line, they simply click on the column heading to sort the list by that column.
    The problem is that when you click for the first time on a sortable column heading, Apex sorts it in ascending order; you need to click on the same column heading again to sort in descending order.
    Is it possible to change this behaviour and sort the data in descending order in the first click? So the users don't have to click twice...
    Thanks
    Luis
    PS: Apex 3 running on Oracle 10.2.0

    Luis,
    See: Can I "catch" a click on a sortable column header of a report?
    Take a look at Anton Nielsen's answer with regards to hiding a column and displaying its value instead of the sortable column.
    Asumming the following simple report query:
    select product,sales
    from <table>
    Change that into:
    select product
    ,sales*-1 as reverse_sales -- Select this one as an extra column
    ,sales -- Hide this column
    from <table>
    In your report column attributes (of column reverse_sales), html-expression, type #sales#. It then displays the normal sales. However apex will generate a 'order by 2 asc' for the first time. The '2' will refer to the sales*-1 value: sorting it asc, is the same as sorting sales descending...
    Toon

Maybe you are looking for

  • I can't update my apps without a credit card?

    Hello! I've came across a problem I've had a apple device for about 3 years and had no problems with it what so ever. Recently I tried to update my games through the app store I got prompt with a message saying that my account has not been used befor

  • How to get the data from a jtable with random order??

    hi everyone, i have a jtable i filled with Strring and Float data, i put this data to a MySQL database, and i use vectors and iterators to filled the database. the problem is there are some cells that are empty, and the Floats' columns throws me null

  • Final Cut Pro laggs my mac pro???

    Hey guys wats up...Well im new to Mac/Video I have a Mac Pro and using a Canon XH-G1 and I just got final cut studio 2 last week just getting use to it... Im an absolute newb to all of this. Im just wondering, when i shot my HD footage and was editin

  • Miro to be booked @ purchase order amount.

    Dear All, I had a query related to MIRO-when we book MIRO on a purchase order , we can only book as per the quantity in GR.Is there a way that i can control the amount while booking the MIRO i.e tolerance +- 15000/- or smaller amount.right now i can

  • How to delivery the output to both filesystem and printer using BurstingEng

    Hi, I am using BurstingEngine to delivery the pdf output to filesystem. I am able to delivery the output to either filesystem or printer, but we need to delivery the ouptut to both filesystem and printer. the control file i am using is: <?xml version