Options
All
  • Public
  • Public/Protected
  • All
Menu

A 2D table structure

Hierarchy

Index

Constructors

constructor

  • new TableObject(rows?: number, columns?: number | string[]): TableObject
  • TableObject is an abstraction of a 2D table with X columns and Y rows where each cell can be used to store any kind of data.

    Columns can be labeled with a textual name which can be used to access them anytime (data can be also accessed via numeric row and column indexes).

    Parameters

    • Default value rows: number = 0

      The number of rows for the created table (Rows can be added or modified anytime later).

    • Default value columns: number | string[] = 0

      The number of columns to create or an array of strings containing the column labels for all of the columns that will be created (Columns can be added or modified anytime later).

    Returns TableObject

    The constructed TableObject

Properties

Protected _cells

Stores all the table cells data. The values are stored as key / value where key is the row and column index (r-c) and value the stored item

Protected _columnNames

_columnNames: HashMapObject

Stores a list with all the column names on the table. The values are stored as key / value where key is the column index and value the column label

Protected _columnsCount

_columnsCount: number = 0

Stores the number of columns on the current table instance

Protected _rowsCount

_rowsCount: number = 0

Stores the number of rows on the current table instance

Methods

Private _validateColumnIndex

  • _validateColumnIndex(column: number | string): number
  • Auxiliary method to validate that a given column index or label belongs to the current table

    Parameters

    • column: number | string

      An integer or a string containing the index or label for the column that we want to validate

    Returns number

    A valid column index based on the specified integer or label.

Private _validateRowIndex

  • _validateRowIndex(row: number): number
  • Auxiliary method to validate that a given row index belongs to the current table

    Parameters

    • row: number

      An integer containing the index for the row that we want to validate

    Returns number

    A valid row index based on the specified integer

addColumns

  • addColumns(number: number, names?: string[], at?: number): boolean
  • Add the specified amount of columns to the table.

    Parameters

    • number: number

      The number of columns that will be added to the table

    • Default value names: string[] = []

      Optionally we can list all the labels to define for the new columns that will be added

    • Default value at: number = -1

      Defines the column index where the new columns will be inserted. Old columns that are located at the insertion point will not be deleted, they will be moved to the Right. By default all the new columns will be appended at the end of the table unless a positive value is specified here.

    Returns boolean

    True if the operation was successful

addRows

  • addRows(number: number, at?: number): boolean
  • Add the specified amount of rows to the table.

    Parameters

    • number: number

      The number of rows that will be added to the table

    • Default value at: number = -1

      Defines the row index where the new rows will be inserted. Old rows that are located at the insertion point will not be deleted, they will be moved down. By default all the new rows will be appended at the bottom of the table unless a positive value is specified here.

    Returns boolean

    True if the operation was successful

countCells

  • countCells(): number
  • Get the total number of cells that are currently available on this table

    Returns number

    The total number of cells on the table

countColumns

  • countColumns(): number
  • Get the total number of columns that are currently available on this table

    Returns number

    The total number of columns on the table

countRows

  • countRows(): number
  • Get the total number of rows that are currently available on this table

    Returns number

    The total number of rows on the table

getCell

  • getCell(row: number, column: number | string): any
  • Get the value contained at the specified table cell

    Parameters

    • row: number

      An integer containing the index for the row that we want to retrieve

    • column: number | string

      An integer or a string containing the index or label for the column that we want to retrieve

    Returns any

    The value for the cell located at the specified row and column or null if no data is defined for it

getColumn

  • getColumn(column: string | number): any[]
  • Get all the elements that are located at the specified column index or label.

    Parameters

    • column: string | number

      An integer or a string containing the index or label for the column that we want to retrieve

    Returns any[]

    All the table elements that belong to the required column

getColumnIndex

  • getColumnIndex(name: string): number
  • Get the numeric column index from it's label

    Parameters

    • name: string

      The label for an existing column

    Returns number

    The numeric index that is related to the given column label

getColumnName

  • getColumnName(columnIndex: number): any
  • Get the defined column name for a given column index

    Parameters

    • columnIndex: number

      a numeric column index

    Returns any

    The column label for the specified numeric index

getColumnNames

  • getColumnNames(): string[]
  • Get a list with all the currently defined column names in the same order as they are assigned to the table. If the table contains columns but no names are defined, a list with empty strings will be returned

    Returns string[]

    A list of strings with the column names

getRow

  • getRow(row: number): any[]
  • Get all the elements that are located at the specified row index

    Parameters

    • row: number

      An integer containing the index for the row that we want to retrieve

    Returns any[]

    All the table elements that belong to the required row

removeColumn

  • removeColumn(column: number | string): void
  • Delete a whole column and all its related data from the table

    Parameters

    • column: number | string

      An integer or a string containing the index or label for the column that we want to delete

    Returns void

    void

removeRow

  • removeRow(row: number): void
  • Delete a whole row and all its related data from the table

    Parameters

    • row: number

      An integer containing the index for the row that we want to delete

    Returns void

    void

setCell

  • setCell(row: number, column: number | string, value: any): any
  • Set the value for a table cell

    Parameters

    • row: number

      An integer containing the index for the row that we want to set

    • column: number | string

      An integer or a string containing the index or label for the column that we want to set

    • value: any

      The value we want to set to the specified cell. Any type is allowed, and different cells can contain values of different types.

    Returns any

    The assigned value after beign stored into the table cell

setColumn

  • setColumn(column: number | string, data: any[]): void
  • Fill the data on all the rows for the given column index or label

    Parameters

    • column: number | string

      An integer or a string containing the index or label for the column that we want to fill

    • data: any[]

      An array with all the values that will be assigned to the table rows on the specified column. Array length must match rows number

    Returns void

    void

setColumnName

  • setColumnName(column: number | string, name: string): boolean
  • Set the label to an existing table column.

    Parameters

    • column: number | string

      An integer or a string containing the index or label for the column to which we want to assign a label

    • name: string

      The new label that will be assigned to the specified column

    Returns boolean

    True if the column name was correctly assigned

setColumnNames

  • setColumnNames(names: string[]): string[]
  • Define the names for the current table columns (Already defined column names will be overriden).

    Parameters

    • names: string[]

      List of names that will be applied to the table columns. It must have the same number of items and in the same order as the table columns.

    Returns string[]

    The list of column names after beign assigned

setRow

  • setRow(row: number, data: any[]): void
  • Fill all the data for the specified row

    Parameters

    • row: number

      An integer containing the index for the row that we want to set

    • data: any[]

      An array with all the values that will be assigned to the table row. Array length must match columns number

    Returns void

    void

Generated using TypeDoc