Skip to Main Content
Feature Request FR-1897
Product Area Application Builder
Status ROADMAP

94 Voters

Allow reorder of columns in interactive grid at design time.

theresa.galvez Public
· Sep 2 2021

Idea Summary
After an interactive grid is created, fix it so the order of the columns can be changed by reordering the columns in the region instead of having to reorder at run time and saving the default “report”.

Use Case
Initially columns are displayed in the order they appear in the interactive grid region. However, if you need to change the order you can only do that at run time by dragging the columns into the preferred order and saving the default report. If you add a column to the region, the new column is always at the end of the grid on display so again, you have to reorder the columns at run time. This is counter-intuitive for new apex developers in particular.

Preferred Solution (Optional)
The interactive grid should always appear in the order in the region by default. For example, if I want to add a column after initial creation, and move it to the 2nd position in the grid, simply moving it to the 2nd position in the region order should cause that column to be displayed in the 2nd position at run time. Similar use if columns need to be reordered after initial creation. Moving the columns into the preferred order should cause them to display in that order by default.

This is currently on the roadmap for a future release of Oracle APEX.

Comments

Comments

  • jkerr OP 3.4 years ago

    It is also annoying when adding a column causes the saved report to forget the column widths and positions of existing columns as well.

  • john.snyders APEX Team OP 3.4 years ago

    This idea is also applicable to interactive report. Could be generalized as design time (page designer) configuration of IG/IR default saved report settings.

  • mohammed.abdul.rafey OP 2.8 years ago

    By when can we expect this issue to be fixed ?

  • h.bacon OP 2.6 years ago

    For decades, one of the nice features of SQL is to be able to write a select statement that determines the order of columns and what columns to select.  The order in the columns in the table is not important when using SQL.  But with many GUI tools, pointing and clicking brings up a default order.  It would be nice if APEX designers and developers could depend on a default order that may change over time but can be set at design time using the sequence number.  This facilitates both reordering as well as inserting new columns at appropriate locations.  I am not sure how complex this change would be but it would help designers and developers appear more in tune with their business users.

    When creating tables, some particular DBA, such as myself, like columns in a certain order, PK, UK, FK, others, audit columns.  It just makes it easier in SQL Developer to click on the data tab and see data in the order important to the DBA.   When using a DDL script to create an APEX application, the order of the columns is rigidly set based on the order in the database and, while great for a DBA using the application, it is not usually ideal for end users.  And if the page is built by hand, the initial order that the developer thinks is good may need to be changed or new columns inserted.  Other than rebuilding the page, there is no easy way to change this order.  It would be great if APEX used the sequence order in the page design as the order the columns selected under the hood.  This makes it easy to rearrange the default column order so most end users don't have to rearrange the column order.   Users may have a different preference for how they want their data to be display in an application.  A really nice feature of IG and IR pages is the ability for the end user to rearrange as much as they like but it would be better if the default order was already good enough for the majority of users.

  • patrick wolf Admin OP 2.6 years ago

    Hi h.bacon,

    for Interactive Report and Interactive Grid that's already available today. As a developer, you can customize and set the default appearance of the report.

    1. As a developer run the page,
    2. Customize the report using the Actions menu
      1. Set default sorting
      2. Show/Hide columns, rearrange columns
      3. Add highlighting, …
    3. Save those default report settings under Actions > Report > Save (As Default Report Settings/Primary Report)

    The settings you have set will be the default setting used by end-users as long as they don't do their own customization.

    - Patrick

  • jan.kvetina OP 2.6 years ago

    It is not the same Patrick.

    I would like to change order of columns in IR/IG just by moving them in Builder same as you can with Classic reports. At least for the default/primary report.

    And when you press Synchronize columns, it could reorder columns same way as they are ordered in the source, but this might be more difficult with the computed/derived columns.

  • patrick wolf Admin OP 2.6 years ago

    Hi Jan, we do understand the original requirement/idea.

    I just wanted to point out to h.bacon that a similar functionality is already available today, because for me his reply sounded like it's not possible at all.

    Regards Patrick

  • jan.kvetina OP 2.6 years ago

    You are right, sorry. I just wish we have a simpler way how to do it.

  • h.bacon OP 2.6 years ago

    Thanks, Patrick, for responding so quickly and I appreciate all the team does to make the product better.  I meant to say I would like to see default column order to be persistent.  If any changes are made, including Reset, that the columns go back to a reasonable order and if that reasonable order changes, the designer can persist that new order.

  • shyamngr OP 2.4 years ago

    Provide some more facility to reorder the column based on some condition/date etc on runtime.

  • mhhm9 OP 2.4 years ago

    You are right

  • michel.lessard OP 1 years ago

    For the ordering of the columns, it seems to me that it would be possible to display them with their presentation sequence in the summary of the "save report" and we could change the presentation sequence for each of the "save reports".

    We would need to have the possibility of changing the "display_sequence" column found in the APEX_APPL_PAGE_IG_COLUMNS view.

    Because there is a small problem with this presentation sequence. We can end up with two columns that have the same order of presentation. This case occurs when columns have display conditions. When you save the default report, you must ensure that all columns are present, otherwise between each default report saving with changing columns you will cause duplicates on the presentation sequence.

  • josearostegui OP 11 months ago

    Hi,

    My customer doesn't want custom reports or even the Actions button to be shown. Any workaround appart the redo of the whole grid again?

    Thanks,

    Jose.

  • carl2 OP 11 months ago

    maybe it would be a good idea to spend half a year “not adding any new functionality to apex” but to clean up all these little things that annoy everyone

  • jan.kvetina OP 11 months ago

    @josearostegui You can drop the grid in Builder and recreate it. That way you will rearrange column on BE, but you might lose a lot of other things… (user reports, custom columns, formats, handler, attributes…)

  • josearostegui OP 11 months ago

    @jan.kvetina Yes I know, that's the reason I asked for another option….

    100% agree with @carl2

  • dave.waghorn OP 11 months ago

    @josearostegui The way we've got around this before is to change the config to show the Actions menu etc., make the changes to the default report, save it, and then hide things again. Obviously works best if you can make those changes in a non production environment but if that's not possible there are other ways around it, including…

    • just make the changes and accept that users will be able to see the Actions menu for a short time
    • pop the app into developers-only mode while you make the changes - ideally out of normal working hours for your main userbase
    • create a copy of the app, make the changes in the copy, then copy the changed page back to the original app (or export the app and re-import it using the original app ID, replacing the original)
  • josearostegui OP 11 months ago

    @dave.waghorn I've clarified myself. I have to enable the save of public reports into the IG, and then, modify layout and click on Report→ Save, which is only active if there're any changes into the IG.

  • ithalloflu OP 5 months ago

    Thx guys, I've clarified my problems with this post

  • jkerr OP 5 months ago

    Altering column order through the Actions menu would be alot less annoying if the dialog box could be expanded vertically so you could see all of the columns so when you click on a column to move its order you could drag it all the way to the position you want.  Otherwise it needs to be done very incrementally, or you click the up or down button like crazy until you think it is in the ballpark, then find it and adjust accordingly.