Checkbox in Report column

Hello APEX Expert,
I have problem with Checkbox in the report. I followed the Denes Kubiceks example for "Tabular Form with Checkbox"
http://apex.oracle.com/pls/otn/f?p=31517:219
Example by Denes does not work when I deselect all the checkbox and click save button it does not save, but if I leave at least one check box selected then it saves the data properly i.e. at least one record will always be selected, my requirement is if I deselect all checkbox and save then it should save the record with "N"
flag in the database.
Need your help..
Thanks in Advance...
Thanks,
Shyam

Hello,
That example does not work when all the checkbox is unchecked.
see this
http://deneskubicek.blogspot.com/2008/10/tabular-form-checkbox-for-setting.html?showComment=1247067349042#c3940133516903050264
This happens because when you take the count of checkbox it only shows the count of checked checkboxes. So when you uncheck all boxes and take the count of checkboxes it return 0, so the loop is not executed.
There are several ways to overcome this situation.
One would be to create a hidden column and use this column to loop through the rows and make update.
Also, try to use as much as possible the inbuilt feature since its more reliable
see this http://www.inside-oracle-apex.com/checkboxes-in-tabular-forms-the-easy-way
Regards,
Shijesh

Similar Messages

  • How to (un)hide report columns based on checkboxes?

    Hello,
    I have a simple report that selects 4 columns from a table.
    I would like to create 2 check boxes (at the report level, not at the row level) corresponding to 2 of the 4 report columns: When they are checked, the corresponding columns are visible. When they are unchecked, the corresponding columns are NOT visible.
    Two questions:
    1.
    This would require submitting the page automatically upon (un)checking either check box. How do I do that?
    2.
    I have attempted to use the Conditional Display properties of the report columns with hard coded values, but they don't seem to work whether the Show property of the columns is on or off. Any idea why and how to get around it? (I am using 3.2. Could this be a bug that has been fixed in 4?)
    Thanks!
    Gabor

    Hi,
    I can not find post where I have explain how sample works.But here it goes:
    You need load jQuery in page template or page HTML header if you are not using Apex 4.
    Create new blank page. In my case new page id is 70.
    Create HTML region to new page called Columns. Use wizard defaults
    Create hidden item Px_REPORT_REGION_NAME. Use wizard defaults.
    In my case hidden item name is P70_REPORT_REGION_NAME .
    Create computation before header for hidden item. Computation Type "Static Assigment".
    In computation write name you like use to your report. My case I did write "Employee report".
    Create SQL Report. In region title place your hidden item like
    &P70_REPORT_REGION_NAME.In my case I did use query
    SELECT *
    FROM empCreate check box. In my case it is called P70_SHOW_HIDE.
    Use from LOV query
    SELECT heading,
      display_sequence
    FROM APEX_APPLICATION_PAGE_RPT_COLS
    WHERE application_id = :APP_ID
    AND page_id          = :APP_PAGE_ID
    AND column_is_hidden = 'No'
    AND region_name        = '&'||'P70_REPORT_REGION_NAME'||'.' -- Change P70_REPORT_REGION_NAME to your hidden item name
    ORDER BY 2Place to report region footer
    <script type="text/javascript">
    function hideCol(pThis){
       var lRepId = '#report_data_#REGION_ID#';
       var lCol   = pThis.value;
       if(pThis.checked){
         $(lRepId + ' td:nth-child(' + lCol + ')').show();
         $(lRepId + ' th:nth-child(' + lCol + ')').show();
       }else{
         $(lRepId + ' th:nth-child(' + lCol + ')').hide();
         $(lRepId + ' td:nth-child(' + lCol + ')').hide();
    </script>Edit checkbox item and place to HTML Form Element Attributes
    CHECKED onclick="hideCol(this);"Your report template most inner table tag must have id attribute
    id="report_data_#REGION_ID#"Then you have result like this
    https://apex.oracle.com/pls/otn/f?p=40323:70
    Regards,
    Jari
    Edited by: jarola on Oct 27, 2010 11:13 PM
    Note about Apex 4 and jQuery added

  • Use of Checkbox in Report for calculation and determine checked records

    Dear All,
    Application Express 4.0.1.00.03
    I have a Report based on Invoice table which displays unpaid Invoices.
    Also I have added one check box (Not a column in Invoice field) to each row of the report query, the user will be check to pay the Invoice, on checking of the Invoices I need to
    1. Calculate the total of Invoice Amount for selected Invoices.
    2. After selection of Invoices User will click on a Button which will open the Payment Form (New Page or Same Page Region),
    but some way I need to know the Invoice No. of each Invoice row selected so that I can use all the selected Invoice No's for creating the Payment.
    3. Any way to add a button on each row of the Invoice that will be used for the Payment of that Invoice only.
    One way can be to create a column to save the check box value which I am aware of, but am looking for other alternate if possible.
    Hoping for some good solution.
    Thanks & Regards
    Arif Khadas

    vee wrote:
    You would need to make the amount column(the one which is used for total) editable so that its value can be accessed easily from JS. You can made it read-only if required ( apex_item.text(2,INV_RENT_VALUE + INV_OTHER_VALUE ) ?? ) .
    How can I make it read only, there is no such attribute which can be set for report column as it exists for Items.
    Also Now I have the following report query:
    SELECT  INV_LSE_NUM                      "Contract No.",
            INV_FROM_DATE                    "Collection Date",
            INV_FROM_DATE                    "From Date",
            INV_TO_DATE                      "To Date",
            INV_RENT_VALUE + INV_OTHER_VALUE "Invoice Amount",
            INV_AMOUNT_PAID                  "Amount Paid",
            INV_RENT_VALUE + INV_OTHER_VALUE
                           - INV_AMOUNT_PAID "Balance",
            INV_NUM                          "Invoice No.",
            'Pay'                            "Pay",
            APEX_ITEM.CHECKBOX (1, INV_NUM)  "CB_PAY",
            APEX_ITEM.TEXT (2, INV_RENT_VALUE + INV_OTHER_VALUE - INV_AMOUNT_PAID)
                                             "BAL"
    FROM    RE_INVOICE
    WHERE   INV_COM_NUM    =  :P0_COM_NUM
    AND     INV_RENT_VALUE + INV_OTHER_VALUE > INV_AMOUNT_PAID
    AND     INV_LSE_NUM    =(SELECT TO_NUMBER (C001)
                             FROM   APEX_COLLECTIONS
                             WHERE  COLLECTION_NAME = 'LEASE'
                             AND    SEQ_ID          = TO_NUMBER (:P24_SR_NO))The Next thing is the HTML Header for the Page:
    <script language = "JavaScript" type="text/javascript">
    total = 0;
    $('input[name=f01]:checked').each( function(){
      parent_row = $(this).parents('tr:first');
      amt = ( parent_row.find('input[name=f02]').val() == ' ') ? 0 : parseFloat(parent_row.find('input[name=f02]').val() );
      total += amt;
    $s('TEST',total);  -- Test is an Item on the Page.
    </script>Also I checked from the Page source "CB_PAY" and "BAL" have names f01 and f02 respectively.
    Even now when I check or un-check the Value in TEST item is not displayed as required.
    Anything more is required, what am I missing.
    Thanks & Regards
    Arif Khadas

  • Check all checkboxes in a column of a tabular form

    Hi,
    I think this can be useful for some people.. I have a tabular form with several columns containing checkboxes. I wanted to be able to check or uncheck a whole column. The problem is that I didn't find a function to do this. So I modified (and renamed) the $f_CheckFirstColumn(pNd) function.
    In "edit page > JavaScript Function and Global Variable Declaration", add this :
    function $f_CheckNthColumn(c,n){
         var e=$x_UpTill(c,"TABLE");
         for(var d=0,a=e.rows.length;d<a;d++){
              var b=$x_FormItems(e.rows[d],"CHECKBOX")[n];
              if(b){
                   if(b.checked != c.checked) {
                        b.click();
         return;
    }EDIT : The status of the checkboxes checked with the function below is not passed when submitting the form (it is passed when clicking on every checkbox). This is why I had to use the click() function (so that onClick is triggered).
    --function $f_CheckNthColumn(c,n){
         var e=$x_UpTill(c,"TABLE");
         var f=[];
         for(var d=0,a=e.rows.length;d<a;d++){
              var b=$x_FormItems(e.rows[d],"CHECKBOX")[n];
              if(b){
                   f[f.length]=b;
         $f_CheckAll(false,c.checked,f);
         return f;
    And in the report column header :
    <input type="checkbox" onClick="$f_CheckNthColumn(this, NUMBER);" />NUMBER being the column number (1st column containing checkboxes = 0, 2nd column containing checkboxes = 1, etc.)
    I'm using APEX 4.1.1.00.23, so I can not guarantee It'll work on other versions.
    Hope this can help !
    Edited by: ben0123 on Jul 13, 2012 12:12 AM
    Edited by: ben0123 on Jul 13, 2012 1:17 AM

    Glad it helped :)
    If you have only one checkbox that is conditional, you could change the $f_CheckNthColumn function by adding this kind of condition :
    if ($x_FormItems(e.rows[d],"CHECKBOX").length == max_number_of_checkboxes || n < position_of_conditional_checkbox) toggle checkbox(n); // all the checkboxes are displayed, or the nth checkbox is before the conditional checkbox
    else // one (or more?) checkbox is missing
      if (n == position_of_conditional_checkbox) do nothing;
      else toggle checkbox(n-1);

  • How to display data in interactive report column without colons (:)

    Dear Apex gurus,
    I'm a newbie and have just created an Apex application from a spreadsheet. I've created a named list of values and used it in a checkbox against a field in the default page 3 Create form.
    When I've selected multiple values in my check box in the form, the data in the interactive report appears as one line with colons separating the selected values like this: Dog:Cat:Bird
    What I would like is to have the data appear in the interactive report column as a multi-line list like this:
    Dog
    Cat
    Bird
    I can work around this by modifying the SQL code in the Region Source of the Region Definition of the report (Default Page 1 interactive report) to replace the colons with <br>
    SELECT replace("PETS_CHOSEN",':','<br>') "PETS_CHOSEN", FROM "MYAPP" Note: this doesn't format properly in the posting. I replace the colon with a html br
    This works, but seems to be a hack to me. I am guessing that I've missed a simple option setting somewhere, but I can't find it.
    The other problem with this solution is that when I export the report to Excel, what is exported is Dog<br>Cat<br>Bird, which is seems worse than colons.
    Thanks,
    - Morgan
    Edited by: mnrussel on 16-Feb-2009 04:13

    Hi Morgan,
    I think you have at least two choices:
    1 - Replace the colons with ', ' (comma and space) - sort of reasonable on screen and in an export
    2 - Create a second page that has the same report but uses the "export: csv" template. Create a manual link to this page to replace the standard Export link. When such report pages are requested, they download immediately instead of displaying. You can, therefore, use commas in this one and &lt;br&gt; tags in the on-screen report version
    Andy
    ps - To display tags in a post, use &amp;lt; for &lt; and &amp;gt; for &gt;

  • Interactive Report Column Headings and Row Height

    I am using the div style="width:350px;" method to control the width of columns in various interactive reports. That works fine except for the following:
    1. When creating filters, the <div...> stuff shows up along with the actual column heading, thus confusing some end users
    2. Even when I uncheck the "Use same text for single row view" checkbox and then provide a simple single row view label, the <div> stuff still shows up on the single row view
    Does anyone have a better solution?
    Also, does anyone know of a way to limit the row height within an interactive report row? I have some columns of data that contain a large amount of HTML data and I'd like to be able to limit the number of rows that show on the report.
    Is Oracle planning to provide some better control over the Interactive Report columns in another version? The Interactive Report is such a huge improvement in usability in APEX - it would be great to take it to another level by providing some better control over column width and row height.
    Edited by: DaleB on Jun 18, 2009 8:54 AM
    Edited by: DaleB on Jun 18, 2009 8:54 AM

    Dale,
    Unfortunately we don't have much we can use to do what you would like. I would have said it's impossible until version 4 but you could actually do something similar to what Roel has done. His trick is in the edit button. He changed the edit button to use an "onload" call to a JavaScript process. You could do the same but call a process that goes across the rows and styles each column. Now because you don't have a way to identify the column (can't use the order because the end user could change it) you'll have to write the code to look at the top row first and then style the appropriate column. As far as I can tell, this would be quite difficult and inefficient. Having said that if you need it that bad and would like some help with it, put up an example application on apex.oracle.com and provide the workspace/username/password and I'll take a look.
    Regards,
    Dan
    http://danielmcghan.us
    http://sourceforge.net/projects/tapigen
    You can reward this reply by marking it as either Helpful or Correct ;-)

  • How to refresh a report column value alone.

    Hi All,
    If we have a static report and for one of the columns of report, if I need to give a feature to click on it and a popup appears and there is a checkbox to select values on that popup page and finally after making changes and I press on apply changes, It should close the popup window and then come and change the value of that column alone in original report instead of refreshing the whole page.
    The column of the report is of type "Standard Report Column".
    How can I achieve this functionality?
    Thanks & Regards,
    Vikas
    Edited by: Vikas Krishna on Sep 29, 2009 9:47 PM

    Vikas,
    I slightly modified on of my older examples and you will find everything here:
    http://apex.oracle.com/pls/otn/f?p=31517:241
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    ------------------------------------------------------------------------------

  • Suggestions to add checkbox to Report

    Version : 4.1.0
    Hi There,
    We have a classic report on an SQL. Now there is a requirement to add some sort of a check box against each report row where the user if selected, it marks that record as a favorite. That checkbox value will be stored in the table.
    If it was a tabular form, I could have just added that as a checkbox and a DB column and it would get updated when the user hit the submit button, any suggesstions on how to do this on a report? Or the only way would be to convert the report to a tabular form ? Not sure, how to capture the Radio values. Any better suggestions are also welcome.
    thanks,
    Ryan

    Hi ryansun
    you can add checkbox to your report.
    Suppose this is your query report
    SELECT empno,
           ename,
           job
    FROM   empyou want to add checkbox to your report then try the below code
    SELECT APEX_ITEM.CHECKBOX(1,empno) " ",
           ename,
           job
    FROM   emp
    Click on report attributes then edit the checkbox column
    under column attributes
    set Display as = Standard Report Column
    For detail information follow the link given below
    http://docs.oracle.com/cd/E10513_01/doc/apirefs.310/e12855/apex_item.htm#CHDDCHAF
    Hope this will solve your problem.
    Regards,
    Jitendra

  • How to generate checkbox on grouping column in advanced datagrid : flex 3

    This is my code .but it generate for all rows. I want checkbox for only where studyid displayed.
    <mx:AdvancedDataGrid id="dgList" x="10" y="342" width="1001" height="175" sortExpertMode="true" borderColor="#992958" styleName="invoiceDataGrid">
                    <mx:dataProvider>
                        <mx:GroupingCollection id="groupda" source="{CptArr}">
                            <mx:Grouping>
                                <mx:GroupingField name="patientname"></mx:GroupingField>
                                <mx:GroupingField name="studyId"></mx:GroupingField>
                            </mx:Grouping>
                        </mx:GroupingCollection>
                    </mx:dataProvider>
                    <mx:groupedColumns>
                        <mx:AdvancedDataGridColumn headerText="Patient Details" width="200"/>
                        <mx:AdvancedDataGridColumn dataField="cpt_code_val" headerText="CPT Code" width="100"/>
                        <mx:AdvancedDataGridColumn dataField="cpt_desc" headerText="CPT Description"/>
                        <mx:AdvancedDataGridColumn dataField="modifier" headerText="Modifier" width="100"/>
                        <mx:AdvancedDataGridColumn headerText="Fee Schedule" dataField="fee_schdule" width="100"/>
                        <mx:AdvancedDataGridColumn headerText="select" id="dgselect">
                        <mx:itemRenderer>
                            <mx:Component>
                                <mx:CheckBox visible="{data.cptdesc}"
                            </mx:Component>
                        </mx:itemRenderer>
                        </mx:AdvancedDataGridColumn>
                    </mx:groupedColumns>
                </mx:AdvancedDataGrid>
    output:
    but i want like this:
    Thanks in advance for your help.

    Sunil,
    Which column is the sal column? I can’t see any numeric columns in your query. If you use htmldb_item calls in your query column, then this makes them strings and you can’t build sums on string columns. If you want to build sums in an updateable report / tabular form, then don’t use the htmldb_item API. Instead use the built-in display types on the report column attributes page. Using the built-in display types is the better options in most cases anyway and they do allow you to calculate sums even if the column is a text field or display and save type field.
    Regards,
    Marc

  • Report column nosort

    I have a report based on a query like this
    select a, b, c, d, e, f , g, i from table
    when i run the report the column are ordered something like this
    f , g, i , a , b, c, d, e
    How do I prevent the column order from being changed from my actual order in the sql?

    If you don't set the "Sort" checkbox and the "Sort Sequence" property for your report columns, it shouldn't get sorted.
    Maybe you have to reset the sorting preferences, if you already have done some sorting. See Reseting a specific Sort Preference independant from the current App_ID
    Patrick
    My APEX Blog: http://inside-apex.blogspot.com
    The ApexLib Framework: http://apexlib.sourceforge.net
    The APEX Builder Plugin: http://sourceforge.net/projects/apexplugin/

  • Cant seem to get checkbox with hidden columns to work...

    I tried to implement the guide to making checkboxes and make columns hidden tutorial on a report but I get the checkbox but no table. Is it because I imported from datalink and didnt create the data from scratch or there is something i needed to do?
    I changed this statement from example"
    STATIC2:Category;CAT,Description;DESCR,
    Availability;AVAIL
    to STATIC2:Category;CATEGORY,Description;DESCRCRIPTION,
    Availability;AVAILABILTY
    dont think there should be any problems...

    What exactly happened when you took the applicable steps in the support article?

  • Interactive report column filters to display differently than column values

    Greetings...
    We use images a lot in our interactive reports to provide a visual representation to a status, or something locked for update, or what-have-you. By default, when a user clicks the column heading of a column which contains images, the drop-down list that shows up displays the actual images, which is nice for the user to identify exactly which thing they want to filter on. The problem is when the user selects on of the options in the filtering drop-down, the resulting condition that is displayed under the interactive report search bar is the HTML code of the image. I'd like something else to display there because showing the user the HTML code is atrocious.
    I didn't think what I want is possible, but then I came across the Page Locks page within ApEx (page 4000:291 in ApEx 4.0.1) which displays a list of all the pages of an application and whether they are locked or not. It also allows you to bulk lock or bulk unlock a bunch of pages. That page uses an interactive report with a column called "Status" which contains images that represent whether the page is locked or not. When you click the "Status" column heading to filter, instead of seeing the images of an open and closed lock, you see the words "Page Locked" and "Page Unlocked." And even better... when you select on of them, the condition that is displayed to the user is very user-friendly.
    Can someone tell me how this is done so I can replicate it in my own apps?
    Shane.

    Why not create the IR using the text you require e.g. 'Lock', 'Unlock' and then use JQuery to replace the text in the report with the image you want. All the filters should then show the plain text and the report will display the image. e.g.
    http://apex.oracle.com/pls/apex/f?p=46801:1
    Here's what I did:
    Firstly make sure the IR has a region template.
    Then create a Dynamic Action with the following attributes:
    1. Advanced
    2. Event: After Refresh
    3. Selection Type: Region
    4. Region: [select the IR Region]
    5. Action: Execute JS Code
    6. Fire on page load: [checked]
    7. Code:
    $('td [headers="TEST"]').each(function(index) {
      if ($(this).text() == 'Lock') {
        $(this).empty().html('<img src="/i/htmldb/icons/locked_small.gif" alt="Lock" />');
      else {
        $(this).empty().html('<img src="/i/htmldb/icons/unlocked_small.gif" alt="Unlock" />');
    });Where TEST is the column name.
    That's it, this may also be of interest:
    http://simonhunt.blogspot.com/2011/10/adjusting-interactive-report-column.html
    I hope it helps
    Shunt

  • Display an alert message through javascript when report column item is null

    Hello,
    I have a report column item which is an select list item and now i want to display an alert message when value is null, I mean no value is selected, this alert message should be fired when update button is clicked.
    Can anyone please help me with this issue.
    Thanks,
    Orton

    You could try something like this:
    declare
      x        INTEGER;
      err_ct  INTEGER   := 0;
    begin
      x  := 5;  -- number of rows displayed
      for i in 1 ... x (
        IF wwv_flow.g_f08(i)) IS NULL THEN err_ct  := err_ct + 1;
        END IF;
      end loop;
      IF err_ct = 0 THEN
         RETURN NULL;
      ELSE
        RETURN 'Nice error message: you must supply a value.';
      END IF;This would be used with a PL/SQL validation: Function Returning Error Text.

  • Cannot edit a field that is "Standard Report Column" when new row added

    Hi everyone,
    I have created a master-detail form from the wizard and within the detail report region source I have used apex_item.xxx API
    example;
    select C1, C2,
    CASE when C2 ='N' then
    apex_item.select_list_from_query(3, C3,'select a1 d, a2 r from table1', 'ENABLED', 'NO',null,null, 'f03_#ROWNUM#')
    else
    apex_item.select_list_from_query(3, C3,'select a1 d, a2 r from table1', 'DISABLED', 'NO',null,null, 'f03_#ROWNUM#')
    END C3
    from table;
    All columns C1,C2,C3 are defined as "Standard Report Columns".
    The results allows the column C3 field to be enabled or disabled for input depending on a condition.
    The problem is when you hit the default button "Add Row" to add a new row. The row is non-editable and is populated with null values.
    What I want is to allow input when a new row is inserted into the multi-row detail form.
    Can any one help?
    Is there a way to change the Display As field for the new row columns to "text field" from "standard report column" dynamically?

    I think you will need to use the old way of adding rows instead of the new one. I remember having headaches trying to get it working.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/otn/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • How can i define the width of report column in report region ?

    Hi,
    I have report region and i want to have a static width for each column ( not based on column name of column data ), how can i do it ?
    Thanks in advance ,
    Yoel

    Can you provide more details pls? I am also trying to change widht of report columns and I do not see anywhere in reports atrributes where it allows me to do that...Thanks so much!

Maybe you are looking for