Row independence and pagination

Evening all,
Please please plase halp meh! I'm trying to replicate a brochure, but the data in the columns have varied row heights, e.g. a 3 column table, the height of row 1, column 1, is taller than that of row 1 column 2, how it this done? I've searched and searched but don't think I'm using the right terminology!
Also I need to paginate around 40 pages, these are A3 double sided sheets (then folded to A4), awkward part is that from a print view page 1 is actually the back cover if you know what I mean? Does InDesign have any functionality to make this easier? Im having a brainfart here.
Any advice would be extremely helpful, and genuinely gratefully accepted

Hope this helps explain a little:  You can see the row heights are different, where normally an increase in cell 1 (column 1, row 1) would then increase the height of the adjacent colums row height.

Similar Messages

  • Report attributes - layout and pagination

    When you set the pagination scheme to Row Ranges X to Y(with next and previous links), Number of Rows to 15 and Max Row count to 1000, I need to know what happens with the query. When the user selects the next (or previous) 15 records, does the region's query fire again and query all 1000 (or more) records?
    I hope this makes since. I just need to know if the application is selecting all the records over and over as the user move through the report.
    Thanks

    Thank You, Thank You, Thank You.
    That is indeed the point I am trying to make.
    My report is a SQL Query (PL/SQL Function body returning SQL Query) and is based on information provided in several PopUp LOVs. The more LOVs used, the more information provided to the WHERE CLAUSE, and therefore the less data returned to the screen.
    When the End User produces a small report, they are likely to want to sort it.
    But when they bring back huge amounts of data, they don't want it sorted. Especially not automatically sorted.
    In most cases, this is happening when we are joining two or three tables with say 10 million rows on each table. The join condition is good (meaning there is not a Cartesian Product) but the resultant data is 10 million rows - something you not likely want to sort. Even with a limit on the number of rows returned (Report Attributes - Layout and Pagination - Max Row Count) to something reasonable, like 500, the 10 million resultant rows are first being sorted and then the first 500 returned.
    So, yes, a "sort-enabled" report should NOT automatically sort. Which is what is happening.
    Of course, it might be a good thing to have some sort of Variable that we could set on a page to decide if we want automatic sorting. On most pages, an automatic sort is great - as the amount of data returned will always be small.
    On the pages where I have this problem, it would be great to do the automatic sort when one or more of the PopUp LOVs are populated. So, within a "After Submit" process I might want to turn automatic sorting on.
    Hey, if we are going to ask for an enhancement/change, we might as well ask for something really flexible.

  • What is the diffrence between Row id and primary key ?

    dear all
    my question is about creating materialized views parameters (With Rowid and
    With Primary kry)
    my master table contains a primary key
    and i created my materialized view as follow:
    CREATE MATERIALIZED VIEW LV_BULLETIN_MV
    TABLESPACE USERS
    NOCACHE
    LOGGING
    NOCOMPRESS
    NOPARALLEL
    REFRESH FAST ON DEMAND
    WITH PRIMARY KEY
    AS
    SELECT
    BCODE ID, BTYPE BTYPE_ID,
    BDATE THE_DATE,SYMBOL_CODE STOCK_CODE,
    BHEAD DESC_E, BHEADARB DESC_A,
    BMSG TEXT_E, BMSGARB TEXT_A,
    BURL URL, BTIME THE_TIME
    FROM BULLETIN@egid_sefit;
    I need to know is there a diffrence between using (with row id) and (with primary key) on the performance of the query?

    Hi again,
    fast refreshing complex views based on rowids, according to the previous subject.
    (You're example shows that) are not possible.
    Complex remote (replication) snapshots cannot be based on Rowid too.
    for 10.1
    http://download-west.oracle.com/docs/cd/B14117_01/server.101/b10759/statements_6002.htm#sthref5054
    for 10.2
    http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_6002.htm#sthref6873
    So I guess (didn't check it) that this applies ONLY to replication snapshots.
    This is not documented clearly though (documentation bug ?!)
    Documentation states that the following is generally not possible with Rowid MVIEWS:
    Distinct or aggregate functions
    GROUP BY or CONNECT BY clauses
    Subqueries
    Joins
    Set operations
    Rowid materialized views are not eligible for fast refresh after a master table reorganization until a complete refresh has been performed.
    The main purpose of my statements was to try to give a few tips how to avoid common problems with this complex subject, like for example: being able to CREATE an MVIEW with fast refresh clause does not really guarantee that it will refresh fast in the long run (reorganisation, partition changes) if ROWID based, further the rowid mviews have limitations according to the documentation (no group by, no connect by, link see above) plus fast refresh means only to use filter columnns of the mview logs, plus for aggregates you need additional count (*) pseudo columns.
    kind regards
    Karsten

  • How to print the row  ,column,and particular cell in separate color

    how to print the row  ,column,and particular cell in separate color IN ALV GRID

    HI,
    Here you go good program links
    <a href="http://www.sapfans.com/forums/viewtopic.php?t=52107">How to Set Color to a Cell in AVL</a>
    <a href="http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_color.htm">ALV Grid Coloring</a>
    Thanks
    Mahesh

  • Automatic row fetch and items initialization

    Hi team,
    I was modifying a page and I came across the following situation:
    I had a form with MRU processing and automatic row fetch and I wanted to make SAVE and DELETE buttons conditional basing on a certain flag contained in the row being read.
    The flag is read into a hidden item having sequence number lower than any button, however I found out that the condition could not be reliably tested as the value in the session state was coming from a previous visit to the page. Some times the buttons were there, some not, at the beginning it was puzzling.
    So, I added a computation based on a SQL query where the hidden flag was computed before the header, basing on the primary key being passed from the calling page and the problem was gone, but for some reason I didn't feel satisfied, it was too cumbersome.
    I thought session state items would be assigned beforehand, but for some reason it looked like they were assigned at a later time, even if the automatic fetch process is supposed to run before the header.
    Then I noticed an "innocent" option in the fetch process definition saying "set memory cache on Fetch / set memory cache on Display".
    In my case was checked the former, but as soon as I checked the latter, I could remove the unnecessary SQL query computation.
    So, I started off posting a problem and ended up with the solution...
    Bye,
    Flavio

    Flavio,
    Thanks for the testimonial. That feature (new in 1.6) is for the very situation you described. When you create new row fetch processes they will have the "set memory cache on Fetch" option selected by default. For existing processes, the option must be manually changed.
    Scott

  • My final version of a table with row headers and column footers

    This version is superior to the one I posted yesterday
    as it is better designed and responds to changes in
    size correctly. You can also have a header/footer with
    multiple columns/rows.
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.table.JTableHeader;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.TableColumnModel;
    import java.awt.*;
    import java.awt.event.AdjustmentListener;
    import java.awt.event.AdjustmentEvent;
    import java.awt.event.ComponentListener;
    import java.awt.event.ComponentEvent;
    public class HeaderFooterTablePanel extends JPanel {
        static abstract class AbstractHeaderFooterTableModel extends AbstractTableModel {
            public abstract int getRowHeaderColumnCount();
            public abstract Object getRowHeaderValueAt(int rowIndex,
                                                       int columnIndex);
            public abstract int getFooterRowCount();
            public abstract Object getFooterValueAt(int rowIndex,
                                                    int columnIndex);
        static class RowHeaderTableModel extends AbstractTableModel {
            private AbstractHeaderFooterTableModel abstractHeaderFooterTableModel;
            public RowHeaderTableModel(AbstractHeaderFooterTableModel abstractHeaderFooterTableModel) {
                super();
                this.abstractHeaderFooterTableModel = abstractHeaderFooterTableModel;
            public String getColumnName(int column) {
                return "";
            public int getColumnCount() {
                return abstractHeaderFooterTableModel.getRowHeaderColumnCount();
            public int getRowCount() {
                return abstractHeaderFooterTableModel.getRowCount();
            public Object getValueAt(int rowIndex, int columnIndex) {
                return abstractHeaderFooterTableModel.getRowHeaderValueAt(rowIndex, columnIndex);
        static class ColumnFooterTableModel extends AbstractTableModel {
            private AbstractHeaderFooterTableModel abstractHeaderFooterTableModel;
            public ColumnFooterTableModel(AbstractHeaderFooterTableModel abstractHeaderFooterTableModel) {
                super();
                this.abstractHeaderFooterTableModel = abstractHeaderFooterTableModel;
            public String getColumnName(int column) {
                return "";
            public int getColumnCount() {
                return abstractHeaderFooterTableModel.getColumnCount();
            public int getRowCount() {
                return abstractHeaderFooterTableModel.getFooterRowCount();
            public Object getValueAt(int rowIndex, int columnIndex) {
                return abstractHeaderFooterTableModel.getFooterValueAt(rowIndex, columnIndex);
        static class SyncColumnWidths implements TableColumnModelListener {
            private final JTable centerTable;
            private final JTable footerTable;
            public SyncColumnWidths(JTable centerTable,
                                    JTable footerTable) {
                this.centerTable = centerTable;
                this.footerTable = footerTable;
            // Change the column widths of the footer table when the column widths
            // of the center table change.
            public void columnMarginChanged(ChangeEvent e) {
                TableColumnModel centerTableColumnModel = centerTable.getColumnModel();
                TableColumnModel footerTableColumnModel = footerTable.getColumnModel();
                for (int i = 0; i < centerTableColumnModel.getColumnCount(); i++) {
                    int width = centerTableColumnModel.getColumn(i).getPreferredWidth();
                    footerTableColumnModel.getColumn(i).setPreferredWidth(width);
            public void columnSelectionChanged(ListSelectionEvent e) {
            public void columnAdded(TableColumnModelEvent e) {
            public void columnMoved(TableColumnModelEvent e) {
            public void columnRemoved(TableColumnModelEvent e) {
        private JTable centerTable;
        private JTable rowHeaderTable;
        private JTable columnFooterTable;
        public HeaderFooterTablePanel(AbstractHeaderFooterTableModel abstractHeaderFooterTableModel) {
            super();
            // Create the center, rowHeader and columnFooter tables
            centerTable = new JTable(abstractHeaderFooterTableModel);
            rowHeaderTable = new JTable(new RowHeaderTableModel(abstractHeaderFooterTableModel));
            columnFooterTable = new JTable(new ColumnFooterTableModel(abstractHeaderFooterTableModel));
            // Disabled column re-ordering
            centerTable.getTableHeader().setReorderingAllowed(false);
            columnFooterTable.getTableHeader().setReorderingAllowed(false);
            // We are using scroll panes, so no auto resizing of table.
            centerTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            columnFooterTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            // Only allow the user to change the column widths from the center table, not the
            // columnFooter.
            columnFooterTable.getTableHeader().setResizingAllowed(false);
            // When the center table column widths change, change those in the columnFooter table.
            SyncColumnWidths syncColumnWidths = new SyncColumnWidths(centerTable, columnFooterTable);
            centerTable.getColumnModel().addColumnModelListener(syncColumnWidths);
            // Set the width of the row header before adding it to the center scroll pane
            // as the row header.
            Dimension rowHeaderSize = rowHeaderTable.getPreferredScrollableViewportSize();
            rowHeaderSize.width = rowHeaderTable.getPreferredSize().width;
            rowHeaderTable.setPreferredScrollableViewportSize(rowHeaderSize);
            rowHeaderTable.setRowHeight(centerTable.getRowHeight());
            // Create the center scroll pane and set the row header table as the row header.
            final JScrollPane centerScrollPane = new JScrollPane(centerTable);
            centerScrollPane.setRowHeaderView(rowHeaderTable);
            // We will handle horizontal scrolling with our own scrollbar.
            centerScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
            // Now we create the panel to hold the columnFooter table and the horizontal
            // scrollbar.
            final JPanel columnFooterPanel = new JPanel(new BorderLayout());
            // Keep the space below the row header empty.
            Component westGlue = Box.createHorizontalStrut(rowHeaderSize.width);
            // Set height of the columnFooterTable before adding it to the columnFooter scroll pane
            // as the view.
            Dimension columnFooterSize = columnFooterTable.getPreferredScrollableViewportSize();
            columnFooterSize.height = columnFooterTable.getPreferredSize().height;
            columnFooterTable.setPreferredScrollableViewportSize(columnFooterSize);
            columnFooterTable.setRowHeight(centerTable.getRowHeight());
            // The scroll pane which holds the columnFooterTable.
            final JScrollPane columnFooterScrollPane = new JScrollPane(columnFooterTable);
            // We do our own horizontal scrolling and the columnFooterScrollPane never scrolls vertically.
            columnFooterScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
            columnFooterScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
            // The scrollbar we use to scroll horizontally.
            final JScrollBar horizontalScrollBar = new JScrollBar(JScrollBar.HORIZONTAL);
            // Sync up all the scrolling. See the method for details.
            syncScrolling(centerScrollPane, horizontalScrollBar, columnFooterScrollPane);
            // Keep the space below the vertical scrollbar empty.
            final JScrollBar verticalScrollBar = centerScrollPane.getVerticalScrollBar();
            int verticalScrollBarWidth = verticalScrollBar.getPreferredSize().width;
            final Component eastGlue = Box.createHorizontalStrut(verticalScrollBarWidth);
            // Set the center viewport size to match to table size
            Dimension centerTablePreferredsize = centerTable.getPreferredSize();
            centerTable.setPreferredScrollableViewportSize(centerTablePreferredsize);
            centerScrollPane.getViewport().setSize(centerTablePreferredsize);
            // The panel that holds the columnFooterTable and the horizontal scrollbar below it.
            final JPanel footerPanel = new JPanel(new BorderLayout());
            footerPanel.add("North", columnFooterScrollPane);
            footerPanel.add("South", horizontalScrollBar);
            footerPanel.setMinimumSize(footerPanel.getPreferredSize());
            // Assemble our columnFooterPanel.
            columnFooterPanel.add("West", westGlue);
            columnFooterPanel.add("Center", footerPanel);
            columnFooterPanel.add("East", eastGlue);
            // This keeps the columnFooterPanel at its minimum height
            JPanel northPanel = new JPanel(new BorderLayout());
            northPanel.add("North", columnFooterPanel);
            // Assemble the center scroll pane, below it the panel containing the column
            // footer panel, and then vertical glue to eat up any available vertical space.
            Box box = Box.createVerticalBox();
            box.add(centerScrollPane);
            box.add(northPanel);
            box.add(Box.createVerticalGlue());
            // Hide/show the eastGlue and the horizontalScrollBar, and recalculate the
            // minimum size of the footerPanel in response to size and visibility changes.
            syncScrollBarVisibility(centerScrollPane, eastGlue, horizontalScrollBar, footerPanel);
            setLayout(new BorderLayout());
            add("Center", box);
        private void syncScrollBarVisibility(final JScrollPane centerScrollPane,
                                             final Component eastGlue,
                                             final JScrollBar horizontalScrollBar,
                                             final JPanel footerPanel) {
            // Hide/show the eastGlue accoring to whether or not the vertical scrollbar
            // is visible.
            centerScrollPane.getVerticalScrollBar().addComponentListener(new ComponentListener() {
                private void checkVisibleStatus(boolean b) {
                    if (eastGlue.isVisible() != b) {
                        eastGlue.setVisible(b);
                public void componentHidden(ComponentEvent e) {
                    checkVisibleStatus(false);
                public void componentMoved(ComponentEvent e) {
                public void componentResized(ComponentEvent e) {
                public void componentShown(ComponentEvent e) {
                    checkVisibleStatus(true);
            // Hide/show the horizontal scrollbar according to whether or not it's needed.
            centerScrollPane.getViewport().addComponentListener(new ComponentListener() {
                public void componentHidden(ComponentEvent e) {
                public void componentMoved(ComponentEvent e) {
                public void componentResized(ComponentEvent e) {
                    int centerScrollPaneWidth = centerScrollPane.getViewport().getSize().width;
                    int centerTablePreferredWidth = centerTable.getPreferredSize().width;
                    if (centerScrollPaneWidth >= centerTablePreferredWidth) {
                        horizontalScrollBar.setVisible(false);
                    } else {
                        horizontalScrollBar.setVisible(true);
                public void componentShown(ComponentEvent e) {
            // Set the minimum size of the footerPanel according to whether or not the
            // horizontalScrollBar is visible.
            horizontalScrollBar.addComponentListener(new ComponentListener() {
                public void componentHidden(ComponentEvent e) {
                    footerPanel.setMinimumSize(footerPanel.getPreferredSize());
                public void componentMoved(ComponentEvent e) {
                public void componentResized(ComponentEvent e) {
                public void componentShown(ComponentEvent e) {
                    footerPanel.setMinimumSize(footerPanel.getPreferredSize());
        private void syncScrolling(final JScrollPane centerScrollPane,
                                   final JScrollBar columnFooterScrollBar,
                                   final JScrollPane columnFooterScrollPane) {
            // When the view of the center scroll pane changes position,
            // change the value of the columnFooterScrollBar to match.
            centerScrollPane.getViewport().addChangeListener(new ChangeListener() {
                public void stateChanged(ChangeEvent e) {
                    int x = ((Component) e.getSource()).getLocation().x * -1;
                    JViewport viewport = (JViewport) e.getSource();
                    int extentWidth = viewport.getExtentSize().width;
                    int viewWidth = viewport.getViewSize().width;
                    int value = Math.max(0, Math.min(viewport.getViewPosition().x, viewWidth - extentWidth));
                    columnFooterScrollBar.setValues(value, extentWidth, 0, viewWidth);
            // When the columnFooterScrollBar (horizontal scroll bar) value changes,
            // change the position of the view in the center scroll pane to match.
            columnFooterScrollBar.addAdjustmentListener(new AdjustmentListener() {
                public void adjustmentValueChanged(AdjustmentEvent e) {
                    JViewport viewport = centerScrollPane.getViewport();
                    viewport.setViewPosition(new Point(e.getValue(), viewport.getViewPosition().y));
                    viewport = columnFooterScrollPane.getViewport();
                    viewport.setViewPosition(new Point(e.getValue(), viewport.getViewPosition().y));
            // When the view of the row header changes position,
            // change the value of the vertical scrollbar of the center
            // scroll pane to match.
            centerScrollPane.getRowHeader().addChangeListener(new ChangeListener() {
                public void stateChanged(ChangeEvent e) {
                    JViewport viewport = (JViewport) e.getSource();
                    int extentHeight = viewport.getExtentSize().height;
                    int viewHeight = viewport.getViewSize().height;
                    int value = Math.max(0, Math.min(viewport.getViewPosition().y, viewHeight - extentHeight));
                    centerScrollPane.getVerticalScrollBar().setValues(value, extentHeight, 0, viewHeight);
        public JTable getCenterTable() {
            return centerTable;
        public JTable getRowHeaderTable() {
            return rowHeaderTable;
        private JTable getColumnFooterTable() {
            return columnFooterTable;
        public static void main(String[] args) {
            AbstractHeaderFooterTableModel tableModel = new AbstractHeaderFooterTableModel() {
                public int getRowCount() {
                    return 25;
                public int getColumnCount() {
                    return 10;
                public Object getValueAt(int rowIndex, int columnIndex) {
                    return "Cell " + rowIndex + ":" + columnIndex;
                public String getColumnName(int column) {
                    return "Column #" + column;
                public Object getRowHeaderValueAt(int rowIndex, int columnIndex) {
                    return "Header " + rowIndex + ":" + columnIndex;
                public int getRowHeaderColumnCount() {
                    return 2;
                public Object getFooterValueAt(int rowIndex, int columnIndex) {
                    return "Footer " + rowIndex + ":" + columnIndex;
                public int getFooterRowCount() {
                    return 3;
            JFrame frame = new JFrame();
            HeaderFooterTablePanel tablePanel = new HeaderFooterTablePanel(tableModel);
            // Render the cells in the row header and footer like the center table column headers.
            TableCellRenderer columnRenderer = tablePanel.getCenterTable().getTableHeader().getDefaultRenderer();
            tablePanel.getRowHeaderTable().setDefaultRenderer(Object.class, columnRenderer);
            tablePanel.getColumnFooterTable().setDefaultRenderer(Object.class, columnRenderer);
            frame.getContentPane().add("Center", tablePanel);
            frame.setSize(300, 300);
            frame.setLocation(300, 200);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
    }

    i was wondering why this topic has NO replies! and then i realized that there is NO question??? so do you have a question, or are you just starting a new thread cuz you feel like it???
    just trying to work out why you didnt post this is the old thread???
    http://forum.java.sun.com/thread.jspa?threadID=5130131&messageID=9466400#9466400

  • Listing row length and count of rows

    Hi,
    I am trying to write a piece of code to fetch number of rows grouped monthly and running out of ideas, please help .. here is my requirement.
    I have a flat file which contains table names and I need to query for the date column from those table, group it by month, number rows in that month. The generated output should contain the table_name, month, rowcount, and avg_row_length of that table.
    Please advice.
    Thanks.

    Hi
    Good, I understand a lot better now. Sorry, I mis-read your first message.
    You need to do some kind of dynamic SQL, that is, you want to run a query like:
    select    '&table_name'
    ,         to_char(update_date, 'Mon-yyyy')
    ,         count(*) row_count
    from      &table_name
    group by  TRUNC (update_date, 'MM')
    ORDER BY  TRUNC (update_date, 'MM');Does every table have a column called update_date, or is it called by different names in different tables? Either way, you can create a script (let's call it one_table.sql) that accepts an input parameter (the table name), and contains the query above.
    Then, to call that for each of your tables, you vould create another script that contains:
    -- Adjust SQL*Plus output settings
    SET  FEEDBACK    OFF
    SET  PAGESIZE    0
    SET  VERIFY      OFF
    SPOOL  combined_output.lst
    -- Write common header line for the whole file
    PROMPT  table_name   Month     Rowcount    avg_row_len
    -- Run query on each table
    @@one_table  tab1
    @@one_table  tab2
    @@one_table  tab3
    -- Finished.
    SPOOL OFFThis will produce an output file like this:
    table_name   Month     Rowcount    avg_row_len
    tab1         Jan-2008       20      100
    tab1         Feb-2008       30      100
    tab1         Mar-2008       40      100
    tab2         Jan-2008       20      200
    tab2         Feb-2008       50      200If you want to print the table name only on the first row, like this:
    table_name   Month     Rowcount    avg_row_len
    tab1         Jan-2008       20      100
                 Feb-2008       30      100
                 Mar-2008       40      100
    tab2         Jan-2008       20      200
                 Feb-2008       50      200You can make the query in one_table.sql a little more complicated: use ROW_NUMBER or ROWNUM to number the rows, and use CASE to print the table name on row #1, and nothing on the others.
    Are you generating the list of tables yourself? If so, then instead of generating just the names, you might generate
    @@one_table  tab1
    @@one_table  tab2
    @@one_table  tab3or even the entire main script.
    Sorry, I have to go now. See how far you can get with this, and post again if you have problems.

  • Layout and Pagination... Limiting my data to top 500 records

    Hi,
    My report is based on SQL, it's displaying only top 500 records... May I know how to fix it...?
    I've tried different options under Report attibutes -> Layout and Pagination but no success yet
    Thanks

    Try closing OAE and the application if running.. Seems like the changes don't take effect until you come back into OAE... At least that is what mine does.

  • Capturing the row selector and perform logical delete

    Hi All ,
    I add a tabular report in one of my page .But in the MULTI_ROW_DELETE button I like to capture the checkbox (row selector) and fire a PL/SQL anonymous block where rather than performing actual row delete it will update a database field and perform some sort of logical delete .
    Now my problem is I cant able to capture that what are the rows need to be logically deleted :
    DECLARE
    vRow BINARY_INTEGER;
    BEGIN
    FOR i IN 1 .. apex_application.g_f01.COUNT
    LOOP
    vRow := apex_application.g_f01(i);
    update test123 set delete_flag='y' where col2=vRow ;
    end loop;
    end;
    Its throwing error .Can anyone help on this pls how to write the pl/sql code to perform the logical delete.
    Thanks in advance ,
    Regards,
    Debashis.

    Guys ,
    Got the solution by searhcing several of the therads from Denes...
    Create the checkbox from Form page :
    htmldb_item.checkbox(1,t.USERNAME) DeleteItem,
    and then captured it as :
    FOR i in 1..HTMLDB_APPLICATION.G_F01.count
    LOOP
    UPDATE table1 set DELETE_FLAG='Y'
    WHERE USERNAME = HTMLDB_APPLICATION.G_F01(i);
    END LOOP;
    Cheers,

  • DataGrid Moving rows up and down

    I have this function to move rows up in a datagrid , yet i am having problems when it comes to move to rows down. I have tried changing the following line to +1 but it dint work any hints please.
                ac.addItemAt(itemToShift,dg.selectedIndex-1);
    This is the code
    public function up():void
                if(dg.selectedIndex == -1)
                    Alert.show("Select the row which you want to up.");
                    return;
                if(dg.selectedIndex == 0)return;
                var selectedRowInx : Number = dg.selectedIndex;
                var itemToShift : Object = ac.getItemAt(selectedRowInx) as Object;
                ac.addItemAt(itemToShift,dg.selectedIndex-1);
                ac.removeItemAt(dg.selectedIndex);
                dg.invalidateDisplayList();

    Okay.  So, I made the code a little simpler than what I said. With my code, you could have selected a row, clicked a cut button, then selected a another row to past afterwards or whatever.  Here is the code for simply moving the row up and down.
    I added code to catch if the row was at the top or the bottom of the data.  Also, I created two indexes, one for the grid and one for the array collection.  It will probably work with the one index, but I was trying to see if I could do the move on a sorted datagrid, but that is basically pointless.
    protected function moveUpBtn_clickHandler(event:MouseEvent):void
    var upSelectedIndex:int = myDataGrid.selectedIndex;
    // Move Item
    if(upSelectedIndex > -1) {
      if(upSelectedIndex > 0) {
       // Get the selected Object
       var moveObject:Object = myArrayCollection.getItemAt(upSelectedIndex);
       // Get actual Object location if grid is sorted
       var upActualIndex:int = myArrayCollection.getItemIndex(moveObject);
       // Remove selected item at actualIndex
       myArrayCollection.removeItemAt(upActualIndex);
       myArrayCollection.refresh();
       // Move both indexes
       upActualIndex--;
       upSelectedIndex--;
       // insert item at actualIndex
       myDataGrid.dataProvider.addItemAt(moveObject, upActualIndex);
       myArrayCollection.refresh();
       // select grid at selectedIndex
       myDataGrid.selectedIndex = upSelectedIndex;
      } else {
       Alert.show("Item is currently at the top of the list.", "Move Alert",  Alert.OK, this);
    } else {
      Alert.show("No Item Selected.", "Move Alert",  Alert.OK, this);
    protected function moveDownBtn_clickHandler(event:MouseEvent):void
    var downSelectedIndex:int = myDataGrid.selectedIndex;
    if(downSelectedIndex > -1) {
      // Move Item
      if(downSelectedIndex < myArrayCollection.length -1) {
       // Get the selected Object
       var moveObject:Object = myArrayCollection.getItemAt(downSelectedIndex);
       // Get actual Object location if grid is sorted
       var downActualIndex:int = myArrayCollection.getItemIndex(moveObject);
       // Remove selected item at actualIndex
       myArrayCollection.removeItemAt(downActualIndex);
       myArrayCollection.refresh();
       // Move both indexes
       downActualIndex++;
       downSelectedIndex++;
       // insert item at actualIndex
       myDataGrid.dataProvider.addItemAt(moveObject, downActualIndex);
       myArrayCollection.refresh();
       // select grid at selectedIndex
       myDataGrid.selectedIndex = downSelectedIndex;
      } else {
       Alert.show("Item is currently at the bottom of the list.", "Move Alert",  Alert.OK, this);
    } else {
      Alert.show("No Item Selected.", "Move Alert",  Alert.OK, this);
    Here is the blog post with the working DataGrid and Source View
    Message was edited by: DeanLoganBH  - Had to set the Down Move to look for the Length of the ArrayCollection -1, because the DataGrid row starts at 0, it is one less than the total length of the ArrayCollection.

  • PWA 2010 timesheet: 2 different colors for the rows "Actual " and "Planned

    Hello,
    To make timesheet easier to read and fill, is it possible to have 2 different colors for the rows “Actual “ and “Planned”?
    Thanks,
    soudha

    Hello Soudha,
    By default the timesheet grid shows the cells in white color. But if you have little coding skills or a developer at your end, you can try this using "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\JsGrid.js" java
    script file.
    You may have to modify it but I recommend to take a backup of the file and test in your test environment first.
    Happy troubleshooting.....
    Vikram Daruru - MSFT

  • Row chaining and row migration ???

    hi
    Can someone tell me what are the oprions to over come row chaining and row migration in 10g and 11g databases ???
    thanx in advance.
    s

    WIP  wrote:
    hi
    Can someone tell me what are the oprions to over come row chaining and row migration in 10g and 11g databases ???
    thanx in advance.
    sHi.Chained row is a row that is too large to fit into a single database data block. row migration mean is update some rows would cause it to not fit on the block anymore,then these migrates to new address.For more information see below links
    http://blog.tanelpoder.com/2009/11/04/detect-chained-and-migrated-rows-in-oracle/
    http://www.akadia.com/services/ora_chained_rows.html

  • Print Row Numbers and Column Letters

    How do you tell Numbers to print the Row numbers and Column letters? This was very simple in Appleworks (print dialog box had that option). Can't find it in Numbers though.

    Here is a script doing all the job for us.
    Just select one or several cells in a table and run the script.
    It duplicates it, add an header row, an header column, insert the needed labels and fill the other cells with a formula grabbing the contents of the original table.
    --[SCRIPT build a table with headers]
    Enregistrer len tant que Script: build a table with headers.scpt
    déplacer le fichier créé dans le dossier
    <VolumeDeDémarrage>:Users:<votreCompte>:Library:Scripts:Applications:Numbers:
    Il vous faudra peut-être créer le dossier Numbers et peut-être même le dossier Applications.
    Selectionner une cellule dans la table à dupliquer
    menu Scripts > Numbers > build a table with headers
    Le script duplique la table et crée des en-têtes de lignes et colonnes.
    --=====
    L'aide du Finder explique:
    L'Utilitaire AppleScript permet d'activer le Menu des scripts :
    Ouvrez l'Utilitaire AppleScript situé dans le dossier Applications/AppleScript.
    Cochez la case "Afficher le menu des scripts dans la barre de menus".
    +++++++
    Save the script as Script: build a table with headers.scpt
    Move the newly created file into the folder:
    <startup Volume>:Users:<yourAccount>:Library:Scripts:Applications:Numbers:
    Maybe you would have to create the folder Numbers and even the folder Applications by yourself.
    Select a range of cells in the table to 'duplicate'
    menu Scripts > Numbers > build a table with headers
    The script duplicate the table and inserts columns/rows headers.
    --=====
    The Finder's Help explains:
    To make the Script menu appear:
    Open the AppleScript utility located in Applications/AppleScript.
    Select the "Show Script Menu in menu bar" checkbox.
    --=====
    Yvan KOENIG (VALLAURIS, France)
    2009/09/19
    --=====
    property theApp : "Numbers"
    --=====
    my activateGUIscripting() (* to be sure than GUI scripting will be active *)
    set {d_Name, s_Name, t_Name, r_Name} to my getSelection()
    if r_Name is missing value then
    if my parleAnglais() then
    error "No selected cells"
    else
    error "Il n'y a pas de cellule sélectionnée !"
    end if
    end if
    set new_Table to t_Name & "_#"
    my duplicateTable(s_Name, t_Name, new_Table)
    set delim to my getLocalizedDelimiter()
    (* grab localized function names and add an open parenthesis at end *)
    set IF_loc to my getLocalizedFunctionName("Numbers", "IF") & "("
    set CHAR_loc to my getLocalizedFunctionName("Numbers", "CHAR") & "("
    set INT_loc to my getLocalizedFunctionName("Numbers", "INT") & "("
    set MOD_loc to my getLocalizedFunctionName("Numbers", "MOD") & "("
    set INDIRECT_loc to my getLocalizedFunctionName("Numbers", "INDIRECT") & "("
    set ADDRESS_loc to my getLocalizedFunctionName("Numbers", "ADDRESS") & "("
    (* grab localized function names and add a couple of parenthesis at end *)
    set ROW_loc to my getLocalizedFunctionName("Numbers", "ROW") & "()"
    set COLUMN_loc to my getLocalizedFunctionName("Numbers", "COLUMN") & "()"
    tell application "Numbers" to tell document d_Name to tell sheet s_Name to tell table new_Table
    if column count = 256 then
    if my parleAnglais() then
    error "Oops, already 256 columns !"
    else
    error "Désolé, il y a déjà 256 colonnes !"
    end if
    end if
    if row count = 65536 then
    if my parleAnglais() then
    error "Oops, already 65536 rows !"
    else
    error "Désolé, il y a déjà 65536 lignes !"
    end if
    end if
    try
    add row above row 1
    on error
    if my parleAnglais() then
    error "Oops, already five header row !"
    else
    error "Désolé, il y a déjà cinq rangs d’en tête !"
    end if
    end try
    try
    add column before column 1
    on error
    if my parleAnglais() then
    error "Oops, already five header columns !"
    else
    error "Désolé, il y a déjà cinq rangs d’en tête !"
    end if
    end try
    set nbr to row count
    set nbc to column count
    (* =IF(COLUMN()<28,CHAR(COLUMN()63),CHAR(INT((COLUMN()-2)/26)+64)&CHAR(MOD(COLUMN()-2,26)65)) *)
    set theFormula to "=" & IF_loc & COLUMN_loc & "<28" & delim & CHAR_loc & COLUMN_loc & "+63)" & delim & CHAR_loc & INT_loc & "(" & COLUMN_loc & "-2)/26)+64)&" & CHAR_loc & MOD_loc & COLUMN_loc & "-2" & delim & "26)+65))"
    tell row 1
    repeat with c from 2 to nbc
    set value of cell c to theFormula
    end repeat
    end tell -- row 1
    (* =ROW()-1 *)
    set theFormula to "=" & ROW_loc & "-1"
    tell column 1
    repeat with r from 2 to nbr
    set value of cell r to theFormula
    end repeat
    end tell -- column 1
    (* =INDIRECT(ADDRESS(ROW()-1,COLUMN()-1,,,"Tableau 2")) *)
    set theFormula to "=" & INDIRECT_loc & ADDRESS_loc & ROW_loc & "-1" & delim & COLUMN_loc & "-1" & delim & delim & delim & quote & t_Name & quote & "))"
    repeat with r from 2 to nbr
    repeat with c from 2 to nbc
    set value of cell r of column c to theFormula
    end repeat -- with c
    end repeat -- with r
    end tell -- Numbers
    --=====
    Set the parameter delimiter which must be used in Numbers formulas
    on getLocalizedDelimiter()
    if character 2 of (0.5 as text) is "." then
    return ","
    else
    return ";"
    end if
    end getLocalizedDelimiter
    --=====
    on getLocalizedFunctionName(theApp, x)
    local p2bndl
    set p2bndl to (path to application support as text) & "iWork '09:Frameworks:SFTabular.framework:Versions:A:Resources:"
    return my getLocalizedName(theApp, x, p2bndl)
    end getLocalizedFunctionName
    --=====
    on getLocalizedName(a, x, f)
    tell application a to return localized string x from table "Localizable" in bundle file f
    end getLocalizedName
    --=====
    on getSelection()
    local _, theRange, theTable, theSheet, theDoc, errMsg, errNum
    tell application "Numbers" to tell document 1
    repeat with i from 1 to the count of sheets
    tell sheet i
    set x to the count of tables
    if x > 0 then
    repeat with y from 1 to x
    try
    (selection range of table y) as text
    on error errMsg number errNum
    set {_, theRange, _, theTable, _, theSheet, _, theDoc} to my decoupe(errMsg, quote)
    return {theDoc, theSheet, theTable, theRange}
    end try
    end repeat -- y
    end if -- x>0
    end tell -- sheet
    end repeat -- i
    end tell -- document
    return {missing value, missing value, missing value, missing value}
    end getSelection
    --=====
    on decoupe(t, d)
    local l
    set AppleScript's text item delimiters to d
    set l to text items of t
    set AppleScript's text item delimiters to ""
    return l
    end decoupe
    --=====
    on isItAsheet(s)
    try
    tell application "Numbers" to tell document 1
    count of tables of sheet s (*
    Post an error if s is not a sheet *)
    end tell
    return true
    on error
    return false
    end try
    end isItAsheet
    --=====
    on activateGUIscripting()
    tell application "System Events"
    if not (UI elements enabled) then set (UI elements enabled) to true (* to be sure than GUI scripting will be active *)
    end tell
    end activateGUIscripting
    --=====
    on duplicateTable(sourceSheet, sourceTable, newName)
    local lesFeuilles, lesTables1, found, listOfRows, cor, i, isSourceSheet, nameI, j, lesTables2
    tell application "Numbers"
    activate
    tell document 1
    set lesFeuilles to name of sheets
    if sourceSheet is in lesFeuilles then
    tell sheet sourceSheet to set lesTables1 to name of tables
    if sourceTable is not in lesTables1 then
    if my parleAnglais() then
    error "The sheet “" & sourceTable & "” of sheet “" & sourceSheet & "” is unavailable ! "
    else
    error "La table “" & sourceTable & "” de la feuille “" & sourceSheet & "” n'existe pas ! "
    end if
    end if -- sourceTable is not
    else
    if my parleAnglais() then
    error "The sheet “" & sourceSheet & "” is unavailable ! "
    else
    error "La feuille “" & sourceSheet & "” n'existe pas ! "
    end if
    end if -- sourceSheet is in
    end tell -- document
    end tell -- application
    if newName is not in lesTables1 then (*
    Now, an ugly workaround to duplicate the sheet *)
    set isOS4 to (system attribute "sys2") < 5
    tell application "System Events" to tell application process "Numbers"
    set docWindow to false (* CAUTION, an inspector ("AXFloatingWindow") or a Find/Search ("AXDialog") window may be open *)
    repeat with i from 1 to (count of windows)
    if subrole of window i is "AXStandardWindow" then
    set docWindow to i (* got the document's window *)
    exit repeat
    end if
    end repeat
    if docWindow is not false then
    tell outline 1 of scroll area 1 of splitter group 1 of splitter group 1 of window docWindow
    select row 1
    set value of attribute "AXFocused" to true
    set found to false
    set listOfRows to name of static text of every row
    set cor to count of rows (* equal count of listOfRows *)
    if isOS4 then (*
    for mac Os X 10.4.11
    CAUTION, listOfRows it's a list of lists !
    {{"Feuille 2"}, {"Tableau 1"}, {"theSheet"}, {"Feuille 1"}, {"Tableau 2"}, {"Clément"}, {"Feuille 4"}} *)
    repeat with i from 1 to cor (*
    Scan the thumbnails *)
    set nameI to item 1 of item i of listOfRows
    set isSourceSheet to (sourceSheet = nameI) and my isItAsheet(nameI)
    if isSourceSheet then
    select row i
    if (i < cor) and not my isItAsheet(item 1 of item (i + 1) of listOfRows) then (*
    Here we may scan the thumbnails of tables of sourceSheet *)
    repeat with j from i + 1 to i + (count of lesTables1)
    if sourceTable = item 1 of item j of listOfRows then
    select row j
    set found to true
    exit repeat
    end if -- sourceTable
    end repeat
    else
    if my parleAnglais() then
    error "The sheet “" & sourceTable & "” of sheet “" & sourceSheet & "”" & return & " is not revealed in thumbnails ! "
    else
    error "La table “" & sourceTable & "” de la feuille “" & sourceSheet & "”" & return & " n'est pas affichée dans les vignettes ! "
    end if -- my parleFrancais
    end if -- (i < cor)
    end if -- isSourceSheet
    if found then exit repeat
    end repeat -- i
    else (*
    for mac Os X 10.5.x
    CAUTION, listOfRows is a list of lists !
    {{}, {"Tableau 1"}, {"theSheet"}, {}, {"Tableau 2"}, {"Clément"}, {}}
    With 10.5.x, the names of sheets are empty *)
    repeat with i from 1 to cor
    set isSourceSheet to (class of UI element 1 of row i is group) and (get value of static text 1 of group 1 of row i) is sourceSheet
    if isSourceSheet then (*
    Here we may scan the thumbnails of tables of sourceSheet *)
    if value of UI element 1 of group 1 of row i is 0 then (*
    reveal the tables's thumbnails and adjust the list accordingly *)
    click UI element 1 of group 1 of row i (* click the black triangle to reveal tables *)
    delay 0.1
    set listOfRows to name of static text of every row (* update the list accordingly *)
    end if -- value of UI…
    repeat with j from i + 1 to i + (count of lesTables1)
    if sourceTable = item 1 of item j of listOfRows then
    select row j
    set found to true
    exit repeat
    end if -- sourcetable
    end repeat -- with j
    end if -- isSourceSheet
    if found then exit repeat
    end repeat -- with i
    end if -- check OS
    end tell -- outline …
    keystroke "d" using command down
    end if -- docWindow
    end tell -- System Events…
    if docWindow is not false then (*
    Rename the new table according to the passed name: newTable *)
    tell application "Numbers" to tell document 1 to tell sheet sourceSheet
    set lesTables2 to name of tables
    repeat with i in lesTables2
    if i is not in lesTables1 then (*
    Here i is the name of the newly created table *)
    set name of table i to newName
    exit repeat
    end if
    end repeat
    end tell
    end if -- docWindow
    end if -- newName is not…
    end duplicateTable
    --=====
    on parleAnglais()
    local z
    try
    tell application theApp to set z to localized string "Cancel"
    on error
    set z to "Cancel"
    end try
    return (z is not "Annuler")
    end parleAnglais
    --=====
    --[/SCRIPT]
    Yvan KOENIG (VALLAURIS, France) samedi 19 septembre 2009 17:33:59

  • Can a single char be used both in rows, filters and free chars

    Hi.,
      Can 0customer can be used in rows, filters and free chars at a time ?
    Or the chars which are used in either one of themrows or filters or free chars) cant beused in the other(rows or filters or free chars)?

    NOpe, it can only be used in one place.
    May be what you have seen is it could be a nav. attribute of master data and transactional data with the same name. Or the same object name could have been in two different underlying model of infoset and it would be dragged and dropped with the same name.
    thanks.
    Wond

  • 1 How to setup new company name   2 How to setup row, rock and bin

    Hi,
    Anybody who can help me how to setup new company.
    And also how to setup row, rock and bin because we need to assign a location for our spare parts inventory.
    Thanks in advance.

    Row/rack/bin sounds like an inventory system. For a simple system you might want to build your own from scratch, but for even a mid-sized company you really want a shrink-wrapped solution -- i.e. Oracle apps or SAP.
    You don't want to be figuring out how to model material transactions, move orders, etc. Nor do you probably want to dive into various cost accounting options.

Maybe you are looking for