Apex 2.2: Reorder report columns

The new reorder report columns under Report Attributes in Apex 2.2 is great, much faster than 2.0 where each column up/down needs a page refresh.
Small request: If I have 25 columns in a report region and I want to move the 20th column to the 5th position, I have to click-click-click the Up arrow on the 20th column until it is in the desired position. While doing all this clicking, since the row re-ordering is so slick, I sometimes tend to lose track of which row I am moving!
Instead, how about a UI like http://htmldb.oracle.com/pls/otn/f?p=24317:33
Clicking on a up/down arrow highlights the row and as long as the same row is moved up/down, it stays highlighted (serving as the visual aid I need). If you start moving a new row, that is "remembered" and highlighted.
Comments?
Thanks
[Sorry for not posting this as a comment on the Apex 2.2 feedback app, I wanted to see  if others agree, thus strengthening my case. Hopefully the Apex team will include this feature in 2.2]
P.S: Of course, drag and drop to reorder these rows would be the next logical feature instead of all this silly clicking around! ;-)

OK I added this to the feedback app under Missing Features.
Just for completeness, here is how this is implemented.
The column with the 2 arrows is a derived column with the following HTML Expression
< img src="/i22/htmldb/icons/up_arrow.gif"
     style="cursor:pointer;cursor:hand;"
     onclick="doUp(this)"
>
< img src="/i22/htmldb/icons/down_arrow.gif"
     style="cursor:pointer;cursor:hand;"
     onclick="doDown(this)"
>The Javascript functions are defined in the Region Header as
<script>
var g_last_row=false;
function doDown(pThis)
    var l_tr=html_CascadeUpTill(pThis,'TR');
    if (g_last_row && g_last_row==l_tr) html_RowHighlight(l_tr,'pink');
    else if (g_last_row) {
        html_RowHighlightOff(g_last_row);
        html_RowHighlight(l_tr,'pink');
    else html_RowHighlight(l_tr,'pink');
    g_last_row=html_RowDown(pThis);
function doUp(pThis)
    var l_tr=html_CascadeUpTill(pThis,'TR');
    if (g_last_row && g_last_row==l_tr) html_RowHighlight(l_tr,'pink');
    else if (g_last_row) {
        html_RowHighlightOff(g_last_row);
        html_RowHighlight(l_tr,'pink');
   else html_RowHighlight(l_tr,'pink');
   g_last_row=html_RowUp(pThis);
</script>I am sure the code can be refactored to be more concise/clever, I just whipped this up in 15 minutes.
Thanks

Similar Messages

  • How to display special characters in APEX Classic Report column

    Ref: Thread: How to display newline characters as new lines
    Version: APEX 3.2
    Hi,
    I have created an classic SQL Report with one of the columns being a decode that gives a value 'Post'(the value should be highlighted in Red) on one condition and 'Pre' on another. I have followed the advice given in the page (URL provided above) , i.e. I have changed Strip HTML to 'No', changed Display as to 'Display as text (escape special characters, does not save state)'. I have also passed this value back to the same page to be stored in a page item each time a link (another column in report) in report is clicked. I have tried passing it as #DEADLINE# and \#DEADLINE#\. The issue I face is, instead of the value being highlighted in Red, it gets passed back as a string holding the value 'Post'. Is there any way I can get this to display as it should without the Strip HTML being changed to 'Yes'.
    Thanks very much.
    Rohi
    Edited by: Rohi on 18-Jul-2012 04:21

    876651 wrote:
    Hi,
    Thanks for your response.
    I am trying to display a page item that is derived from a report column based on a click on the URL link (*view >*>)
    This page item (here, it is Manager_ID) should ideally be highlighted when a particular condition is satisfied (achieved using a DECODE in the report).
    But it is not displayed like it should be.
    I do not want the value to be displayed along with the html tags as a string.
    I want the html tags to take effect and highlight the value within it.
    Initially, I had set Strip HTML to Yes and the value was returned without any highlighting .
    So I changed it to 'No' and and it contained the html tags.
    I am not sure what setting in APEX Report Attributes can help me achieve that effect I want.None of the report settings are relevant. They affect the rendering of the report and none of the columns you were changing the properties of were actually rendered.
    You can't pass HTML and CSS around in URL parameters.
    I suggest you pass *2* values in the column link: the MGR ID and a simple class or colour value computed by the DECODE in the report. I've suppressed the first version of the report and created a new one that does this:
    decode(dept.deptno, '30', 'c00', '000') highlight The link column now passes the MGR ID and the HIGHLIGHT colour (red when the condition is satisfied and black when it is not).
    I created another hidden and protected page item <tt>P0_HIGHLIGHT</tt> as the target for the highlight value, and used the Pre/Post Element Text properties of the <tt>P0_G_MGR</tt> to wrap it in a <tt>span</tt> whose colour is changed using the <tt>P0_HIGHLIGHT</tt> value as a subtitution string:
    <span style="color: #&P0_HIGHLIGHT.;">Having done that, I still don't really get the requirement here. I'm sure that given the full picture I'd be using a completely different approach...

  • APEX & BI Publisher - report column amount limit?

    Hi all,
    I try to extend reports in an apex application by exports to output formats
    provided by BI Publisher.
    All reports work fine except one report that contains 39 columns.
    So I did several tests and found out that apex won't send report xml data
    to BI Publisher server if the report contains more than 29 columns that
    are marked to be included in export.
    Everytime I call that report apex returns an "empty" http response with a header like this:
    HTTP/1.1 200 OK
    Date: Tue, 02 Oct 2007 09:33:00 GMT
    Server: Server
    Content-Disposition: attachment; filename=test.xls
    <pre>report error: ORA-06502: PL/SQL: numeric or value error: character string buffer too small</pre>
    Content-Type: application/excel
    Content-Length: 0
    Keep-Alive: timeout=15, max=100
    Connection: Keep-Alive
    The error occurs independent on selected output format.
    I am using apex version 3.0.1.00.08 (3.0.1 patch applied to 3.0 installation),
    Oracle DB is 10.2.0.3/Linux + BI Publisher 10.1.3.2.1
    Is this a known limitation or a bug?
    Any hints are appreciated. Thanks in advance.
    Matthias

    Guys,
    Were you able to solve the issue?
    I have the same problem after upgrading from Apex 4.0.2.00.07 to 4.1.1.00.23, see here:
    XLS download of interactive report - error after upgrade to apex 4.1.1
    BIP Version is 11.1.1.5.0
    BR Paul

  • What is Maximum No. of columns in APEX 3.2 Interactive Report

    Hi All,
    Is there any limitation on maximum number of columns in a APEX (3.2) Interactive Report page, I have a report containing more than 200 columns. I am tyring to add another 25 new columns and found this error msg: ORA-06502: PL/SQL: numeric or value error: character string buffer too small.
    I can add 5-6 new columns and it's runing okay but after that the msg. is coming.

    A query 225 columns wide? Is that not a bit excessive? I can't imagine that being particularly user-friendly. Perhaps it might be worth considering some sort of master->detail type report with the relevant filters for content - that should give your users something a mite bit more manageable.

  • Calling a .rdf report from a link on a apex report column

    Hi,
    I want to call a xxx.rdf report from a link on a apex report column.
    Can anyone help me on this ?
    Best regards,
    JCN

    Hi,
    Sorry - I should have read a bit further in your last post!
    The url variable that you're defining should just be the URL string that you want to create, so you only need the "http://........" part. There's also a + missing after the "&TODT..." string.
    The "DEA_PERMIT_ID=&G_PERMIT_ID." part at the end should have an & at the start to indicate a new parameter in the URL. Otherwise, &G_PERMIT_ID. would be replaced by the value stored in the session for the G_PERMIT_ID item (presumably that is an Application Item?).
    So:
    function callPopup()
    var url = "'http://snapper.accsp.org/reports/rwservlet?destype=cache&desformat=PDF&report=edr_landings_dollars_by_vessel.rdf&userid=evtr_report/chicken99@safis&FROMDT=" + $v("P810_FROM") + "&TODT=" + $v("P810_TO") + "&DEA_PERMIT_ID=&G_PERMIT_ID.";
    popupURL(url);
    }Andy

  • Call Javascript function to pass a id  from APEX report column link

    Hi,
    Can anyone help me, in a report column link i'm calling a function to pass an id and i want to onclick change a icon on that column based on the value on the column status of this table.
    Is this possible?

    Hi Ron,
    I am doing exaclty what you have suggested me but no luck. I started changing the DEMO_CUSTOMERS application to my requirements.The report is working fine and on the report I have created a page attribute to the Hyper linked column and linked that to the page 2 and assign that attribute with #JOBNUM#.
    I am able to pass that value on to form when I click on the JOBNUM. But the problem is I am not able to pass that value into the SQL query so that my query pulls 20+ columns on to the Form ( which is second page ).
    Small clarification... On the form region it is said FORM NAME and type is HTML is that is the way the APEX was designed or does it need to say region type as FORM.
    Thanks for your help in advance.
    Cheers,
    Krishna.

  • Standar Report Column missing in Apex 5.0.

    Standard Report Column is missing in Apex 5.0. How to work with apex_item which required display type to be Standard Report Column?

    Hi Rupesh,
    Rupesh Gupta wrote:
    Standard Report Column is missing in Apex 5.0. How to work with apex_item which required display type to be Standard Report Column?
    Check this similar old thread : APEX_ITEM.CHECKBOX2 issue in apex 5
    Regards,
    Jitendra

  • Oracle APEX 4.0  -  Interactive Report - Table Column Filter Issue

    Environment: Oracle APEX 4.0  -  Interactive Report - Table Column header Filter Issue
    We have developed an interactive report using Oracle APEX 4.0, which contains a record count of around 3,000 Rows. All the rows values are unique in nature. When we try to filter the same with the help of column header filter option available in the interactive report,We get only 1000 records.
    Could some one help us, why this behaviour under APEX Table Column Header Filter as if it does not display beyond 1000 distinct values.
    Is there a way or workaround on how to get all the records in the column header filter?
    Thanks in advance.
    Krish

    Hi
    Thanks for the advice and this issue has been moved to the below URL
    Oracle APEX 4.0 - Interactive Report - Table Column Filter Issue Posted: No
    Krish

  • Oracle APEX 4.0 - Interactive Report - Table Column Filter Issue Posted: No

    Environment: Oracle APEX 4.0 - Interactive Report - Table Column header Filter Issue
    We have developed an interactive report using Oracle APEX 4.0, which contains a record count of around 3,000 Rows. All the rows values are unique in nature. When we try to filter the same with the help of column header filter option available in the interactive report,We get only 1000 records.
    Could some one help us, why this behaviour under APEX Table Column Header Filter as if it does not display beyond 1000 distinct values.
    Is there a way or workaround on how to get all the records in the column header filter?
    Thanks in advance.
    Krish

    Krish,
    Interactive report has hard coded limit to display 1000 rows of column filter LOV for performance. Unfortunately, the limit cannot be changed. The workaround is to define a Column Filter LOV for the column instead of using "Default Based on Column Type".
    Regards,
    Christina

  • APEX CSS - How do I get data in report columns to wrap?

    I found information here http://www.orafaq.com/wiki/APEX_FAQ
    About How do I get data in report columns to wrap?
    This works and another way to do it is by adding the CSS directly into the
    Home>Application Builder>Application 137>Page 1>Report Attributes>Column Attributes page
    in the Column Formatting area. I added 'white-space:normal' and this works in FF but in
    IE it has a different behavior.
    In FireFox
    testasdgadhad
    gadfadgadgadg
    adgafhsrgjsgnsfg
    nsdfbadfafhafha
    dfhadfh
    In Internet Explorer
    testasdgadhad gadfadgadgadg adgafhsrgjsgnsfg nsdfbadfafhafha dfhadfh
    Is there a way to force it so it display in IE the same way that it displays in FF?
    The correct display format is FF.
    Thanks,
    Nestor :)

    I have try this because I found it during a search and it makes no difference in IE.
    This is what I am using now 'display: block; width: 100px;max-width:100px;white-space:normal'
    I also tried 'display:block; width:500px'
    If I use the values 'normal' or 'pre' for white-space' it works in FireFox but not in IE, The display block
    does not seem to make a difference. It seems that all I need is 'white-space:normal' but again
    it does not works on IE.
    Thanks,
    Nestor :-)

  • 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

  • Custom pagination for APEX 4.2 interactive report using Page Zero

    Hi,
    I want to implement an «Custom pagination for APEX 4.2 interactive report» using a «page zero».
    I recently migrate from Apex 3.1 to Apex 4.2 and my «Custom pagination for APEX 3.1 interactive report» using a «page zero»  is not working any more.
    So now I try to adapt an excellent example of Jari Laine for 4.0 but using a page zero.
    I put the code JavaScript to Page zero but I must create an dynamic action to fire only for an interactive report region.
    It’s a good idea?
    Thank you

    Thought I would try once more with my DatePicker question.
    On the Apex.Oracle.Com website I have created a 1 page application that has an Interactive Report.
    [url http://apex.oracle.com/pls/apex/f?p=15655:1]
    user = 'test'
    password = 'test'
    I have 2 questions :
    (1) In IE7, press 'Actions', 'Filter'. On the Column dropdown list, select 'Order Timestamp'.
    Notice the prompt icon to the right of the 'expression'. This should change to the Datepicker, but in IE7 it does not. Try the samething in Firefox or Chrome and the Datepicker will appear.
    Is this a BUG, or does Apex 4.02 not support IE7 ?
    (2) In Firefox or Chrome, where you can now see the Datepicker, you will notice that it is the new style picker, not the old style ( called 'classic' ). I want to change it so that it shows the 'classic' datepicker not the new, but cannot see how to do it, if indeed you actually can.
    I would really appreciate it if someone could take a look and let me know if I am going mad, or if we need to get all our users onto IE8. We have now gone live with Apex 4.02 and need to resolve these issues.
    Thanks in advance.
    Edited by: DooRon on 10-Mar-2011 05:13

  • 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
    -------------------------------------------------------------------

  • Passing parameter from interactive report column link to new page

    I'm very simply trying to pass the value of the column link to the where clause on the next page.
    Interactive Report on P2 has column link fid alias in sql query.
    I read somewhere to refer prefix the interactive report column with IR ??
    So I have item name P2_FID, value #FID#. Anyway, I've tried a kazillion things.
    Created a hidden item with same source value... sigh.
    Is there a syntax to refer to a report column link, rather than an item_id in a region where clause?
    Is there a simple direct way to do this?
    Thanks,
    Pamela
    -----pls/apex/f?p=163:1:2746459963336955::NO::P2_FID:119

    Thank you Varad...
    Unfortunately, I am still getting no data found. (and there IS data).
    a) Do you mean in the link column section of the report attributes? that is done: item 1 name= IR_P2_FID, value = #FID#
    b) Do you mean my changing my hidden page item to ir_p2_fid with its source value as #FID# ? also done.
    Do I need this hidden item?, and if not how do I refer to link in the where clause of the called page's sql region?
    3) Where Fishery_id = :IR_P2_FID
    Where Fishery_id = &IR_P2_FID
    Thanks again!
    Pamela

  • How to accessing current row report column value in Lov Query?

    Hi,
    which access methods (eg. bind variables, substitutions, ...) for getting the current row report column value can be used in the "Lov Query" property of a report column?
    As what I know of and what I have read on the forum there are no bind variables for the report columns. For the "Link Text" property it seems that the column values exist as substitution strings (#COLUMN_NAME#). But they don't work in the Lov Query. => And would be good because of a hard parse each time the Lov query is executed.
    The following post (Re: Simulating a correlated sub query in lov
    is showing a solution to use package variables for temporary storage of the referenced value, but the only problem with that solution is that if a new record is added with the "Add rows to tabular form" process the package variable still contains the value from the last queried row! Is there a way (variable, APEX package, ...) to determine if the lov query is executed for a new record so that the package can return null?
    I know that I could write the package in a way that the value is immediately cleared when lov_pkg.keyval is called (one time read), but then I would have to create several variables if I'm accessing the value multiple times in the query or in another query => I think an one time read solution would be very obscurely.
    Thanks for your help
    Patrick
    http://inside-apex.blogspot.com

    Hi Patrick,
    I agree that it's a waste to continually use Ajax to go back to the server to get the contents of a dynamic select list.
    There are no bind variables for any row item - but what you do have, as per my previous post, is the value of the data entered by the user in the first row. You can pass this into your application process (using get.add("VARIABLENAME", value)), which can use it to retrieve the correct LOV in your Ajax code - this will give you a "bind variable" that your process can use.
    What you could do, however, is generate hidden select lists on your page - one for each possible LOV list and replace the contents of the new row's select list with the contents of the appropriate hidden select list. This is easy to do with javascript (using innerHTML functions). Obviously, though, the usefulness of this depends on the number and size of the select lists.
    Even if you don't generate them to start with, you can keep a copy of any select lists returned by Ajax in the DOM for use on new rows. So, if you have retrieved a select list, you will have a copy of it in DOM which you can then copy into the new row. If you don't have the list in DOM, use Ajax to get it, store a copy of it and copy it into the new row.
    Which method you use will depend on the number/size of select lists needed. If they are few in number and/or size, I would suggest generating hidden lists. If they are large, use Ajax to get them once, store them and then retrieve them from the DOM when needed.
    There is another thread here where Arie recommends going to the server every time to make sure you get the most up-to-date data for the lists. If you want to follow this advice, for this reason, use get.add("VARIABLENAME", value) to pass the value to your process. If this is not an issue, you can use one of the other methods I outlined above.
    Regards
    Andy

Maybe you are looking for