Class RMTable

  • All Implemented Interfaces:
    RMArchiver.Archiving, java.lang.Cloneable

    public class RMTable
    extends RMSplitShape
    This RMShape subclass provides functionality to graphically represent a list of data in a ReportMill report. It also supports data manipulation such as grouping and sorting.
    • Constructor Detail

      • RMTable

        public RMTable()
        Creates a plain table.
    • Method Detail

      • getListKey

        public java.lang.String getListKey()
        Returns the list key associated with the table.
        Overrides:
        getListKey in class RMShape
      • setListKey

        public void setListKey​(java.lang.String aKeyPath)
        Sets the list key associated with the table.
        Overrides:
        setListKey in class RMShape
      • getFilterKey

        public java.lang.String getFilterKey()
        Returns the optional key chain (expression) used to limit the table list derived from list key.
      • setFilterKey

        public void setFilterKey​(java.lang.String aKeyExpr)
        Returns the optional key chain (expression) used to limit the table list derived from list key.
      • getGrouper

        public RMGrouper getGrouper()
        Returns the grouper associated with the table.
      • getPaginate

        public java.lang.Boolean getPaginate()
        Returns whether the table is supposed to be paginated.
      • setPaginate

        public void setPaginate​(java.lang.Boolean aValue)
        Sets whether the table is supposed to be paginated.
      • getPageBreakGroupIndex

        public int getPageBreakGroupIndex()
        Returns the index of the grouping in the grouper at which an explicit.
      • setPageBreakGroupIndex

        public void setPageBreakGroupIndex​(int aValue)
        Returns the index of the grouping in the grouper at which an explicit.
      • getStartingPageBreak

        public boolean getStartingPageBreak()
        Returns whether this table should always start on a new page (if in table group).
      • setStartingPageBreak

        public void setStartingPageBreak​(boolean aFlag)
        Sets whether this table should always start on a new page (if in table group).
      • getNumberOfColumns

        public int getNumberOfColumns()
        Returns the number of columns that this table should be repeated over on the same page before paginating.
      • setNumberOfColumns

        public void setNumberOfColumns​(int aValue)
        Sets the number of columns that this table should be repeated over on the same page before paginating.
      • getColumnSpacing

        public float getColumnSpacing()
        Returns the space between a table that has more than one column (int printer points).
      • setColumnSpacing

        public void setColumnSpacing​(float aValue)
        Sets the space between a table that has more than one column (int printer points).
      • getGroupingCount

        public int getGroupingCount()
        Returns the number of groups in this table.
      • getGrouping

        public RMGrouping getGrouping​(int anIndex)
        Returns the individual grouping at the given index.
      • getGrouping

        public RMGrouping getGrouping​(java.lang.String aKey)
        Returns the individual grouping that has the same key as the one given.
      • getSelectedGrouping

        public RMGrouping getSelectedGrouping()
        Returns the currently selected grouping (while editing only).
      • getSelectedSort

        public RMSort getSelectedSort()
        Returns the currently selected grouping's sort (while editing only).
      • addGroupingKey

        public void addGroupingKey​(java.lang.String aKey)
        Adds a grouping to the table for the given key string.
      • addGroupingKey

        public void addGroupingKey​(java.lang.String aKey,
                                   int anIndex,
                                   RMShape aHeader,
                                   RMShape aDetails,
                                   RMShape aSummary)
        Adds a grouping to the table for the given key string at the given grouping index. You can also supply specific table rows for headers, details and/or summary.
      • addGrouping

        public void addGrouping​(RMGrouping aGrouping,
                                int anIndex,
                                RMShape aHeader,
                                RMShape aDetails,
                                RMShape aSummary)
        Adds a given grouping to the table at the givein grouping index. You can also supply specific table rows for headers, details and/or summary.
      • removeGrouping

        public void removeGrouping​(RMGrouping aGrouping)
        Removes the given grouping.
      • moveGrouping

        public void moveGrouping​(int index1,
                                 int index2)
        Moves the grouping at the first index so that it resides at the second index.
      • getRow

        public RMTableRow getRow​(int anIndex)
        Returns the specific table row at the given index.
      • addHeader

        public RMTableRow addHeader​(java.lang.String aKey)
        Adds a header row for the given grouping key.
      • removeHeader

        public RMTableRow removeHeader​(java.lang.String aKey)
        Removes the header row for the given grouping key.
      • addDetails

        public RMTableRow addDetails​(java.lang.String aKey)
        Adds a details row for the given grouping key.
      • removeDetails

        public RMTableRow removeDetails​(java.lang.String aKey)
        Removes the details row for the given grouping key.
      • addSummary

        public RMTableRow addSummary​(java.lang.String aKey)
        Adds a summary row for the given grouping key.
      • removeSummary

        public RMTableRow removeSummary​(java.lang.String aKey)
        Removes the details row for the given grouping key.
      • setShowGroupPart

        public RMTableRow setShowGroupPart​(int part,
                                           java.lang.String aKey,
                                           boolean add)
        Adds or removes header/detail/summary rows for a given grouping key.
      • setShowGroupPart

        public RMTableRow setShowGroupPart​(int part,
                                           int index,
                                           boolean add)
        Adds or removes header/details/summary row for a givein grouping index.
      • grouperWillChange

        public void grouperWillChange()
        Called whenever grouper will be changed to handle undo.
      • getSelectedGroupingIndex

        public int getSelectedGroupingIndex()
        Returns the currently selected grouping's index (for editing, mostly).
      • setSelectedGroupingIndex

        public void setSelectedGroupingIndex​(int anIndex)
        Sets the currently selected grouping by index (for editing, mostly).
      • getSelectedSortIndex

        public int getSelectedSortIndex()
        Returns the currently selected grouping's currently selected sort (for editing, mostly).
      • setSelectedSortIndex

        public void setSelectedSortIndex​(int anIndex)
        Sets the currently selected grouping's currently selected sort (for editing, mostly).
      • equals

        public boolean equals​(java.lang.Object anObj)
        Standard equals implementation.
        Overrides:
        equals in class RMShape
      • clone

        public java.lang.Object clone()
        Standard clone implementation.
        Overrides:
        clone in class RMSplitShape
      • copy

        public void copy​(java.lang.Object anObj)
        Standard copy implementation.
        Overrides:
        copy in class RMShape
      • toString

        public java.lang.String toString()
        Standard to string implementation (prints class name and shape bounds).
        Overrides:
        toString in class RMShape