The unit NTABED contains a Delphi™ visual component which supports displaying and editing of numeric tables. Each table consists of the data table, column and row attributes, column and row headers, and a comment line. All of these items can be manipulated either interactively or programmatically. The data table is based on the class TMatrix.
The figure at right shows an example of the table editor. The editor may be widely configured to the user's requirements: column and row sizes are adjustable, display precision may set up columnwise, optional row and column attributes allow additional classification of data. In addition, NTabEd provides the full functionality of the unit MATRIX, thus allowing to apply mathematical procedures to the data. More details can be found in the online help pages.
The unit NTABED is part of the SDL Component
Suite.
What's new:
- Release 10.7 [Aug-24, 2020]
- the new property ShowCellCursor controls the visibility of the cell cursor
- the new event OnClear allows to replace the clear routine by user-defined code
- bug fix: selection of TNTabEd was wrong after pasting data via PopupMenuClickExtClip
- Release 10.6 [Mar-09, 2018]
- no changes
- Release 10.5 [Oct-10, 2016]
- no changes
- Release 10.4 [Jun-02, 2015]
- no changes
- Release 10.3 [Oct-06, 2014]
- the context command "Clear" now triggers the OnPaste event
- the property EditorMode is now public
- Release 10.2 [May-30, 2013]
- the new event OnSelectionChanged indicates the change of the selection of cells
- the method ChangedSelection triggers the OnSelectionChanged event
- the OnMouseMove event is now public
- the new event OnTopLeftChanged occurs when the control is scrolled
- the new event OnPercentDone provides a feedback during read/write operations
- Release 10.1 [Oct-29, 2012]
- the new method CopyCellStatesFrom copies the cell states of an external table
- additional commands in the header context menus: Insert Column/Row, Delete Column/Row
- in the case of nominal or ordinal columns the inplace editor accepts now both integer ordinals and the identifiers
- the method InvertCellStates allows to invert particular states of all cells
- the property LeftCol is now published
- the new properties ColorRangeSelBG and ColorRangeSelFG allow to control the colors of selected cells
- the new event OnBeforePopup occurs immediately before the popping up of a context menu
- the method ExchangeMarkings switches all markings of type A and B
- the new events OnCellStateChanged, OnAttributeChanged, OnHeadingChanged, and OnLayoutChanged events are triggered when the cell states, the attributes, the headings, or the layout, respectively, is changed
- the method ChangedAttrib triggers the OnAttributeChanged event
- the method ChangedCellStates triggers the OnCellStateChanged event
- the method ChangedHeading triggers the OnHeadingChanged event
- the method ChangedLayout triggers the OnLayoutChanged event
- the methods SortColNames and SortRowNames now provide a second overloaded version which allow to control lower/upper case sorting
- the properties DrawingStyle, GradientStartColor, GradientEndColor are now published (only XE2 or higher)
- the property StyleElements has been made available for XE3 or higher
- the event OnPaste is triggered when the user pastes data to the data table
- bug fix: the property TopRow now works properly if AttribColVisible is set TRUE
- bug fix: repaint was not triggered after redimensioning the data matrix
- bug fix: the methods InsertColumn, InsertRow, DeleteColumn and DeleteRow now work as expected if AttribColVisible and/or AttribRowVisible are TRUE
- bug fix: the functions NrOfMarkedDataA and NrOfMarkedDataB are now working as expected
- bug fix: occasional wrong indication of selected headings fixed
- Release 10.0 [Oct-4, 2011]
- bug fix: Cells marked as "csUser1".."csUser3" are now displayed correctly (instead of showing 3 question marks)
- Release 9.7 [May-31, 2010]
- the new property AutoAdvanceDir controls the direction of the automatic cell pointer movement when the "Enter" key is pressed
- the new event OnBeforeRenderCell allows to adjust individual cells
- mouse wheel support added
- the new property DataReadOnly allows to switch the table editor into read-only mode
- new function GetClipMatrixSize retrieves the size of a text matrix in the clipboard
- popup menu of the heading area extended to support the selection of entire rows and columns
- the methods MirrorColumns and MirrorRows allow to mirror a data table
- the method Changed has been renamed to ChangedData
- new method ChangedHeading allows to trigger an OnHeadingChanged event
- sort speed improved by suppressing intermediate repaints
- bug fix: empty cells are now indicated by empty boxes again (instead of '???') - bug was introduced with release 9.51
- bug fix: inverted headers (when right clicking) operate now as expected
- bug fix: when interactively changing the row/column attributes the OnHeaderChanged event is triggered (instead of the OnChange event)
- bug fix: CopyContentsFrom did not copy scaling information
- bug fix: font changes show immediate effects now
- buf fix: changing any Nominal IDs now triggers the OnChange event
- Release 9.51 [Dec-01, 2008]
- undefined cells are now indicated by the string '???'
- bug fix: copying a numeric value containing leading or trailing blanks from the Windows clipboard into a cell now works correctly
- Release 9.5 [Oct-31, 2008]
- TNTabEd now supports empty cells - property IsEmpty allows to control the "empty" state of a cell
- AutoRowHeight and OptimizeRowHeight allow to control the adjustment of row heights
- the method AutoColWidth is now a function which returns the width the adjusted column
- new property BlockInternalPopup allows to remove default popup menus
- new property CommentEditingAllowed controls the interactive editing of comments
- new event OnHeadingChanged allows to react on any user-triggered changes of the orw and column headings
- new methods InsertRow, InsertColumn, RemoveRow, and RemoveColumn allow to insert, delete, and append entire rows and columns
- the new array properties PopupDCaptions, PopupMCaptions, PopupUCaptions, and PopupHCaptions allow to translate the various popup menu entries to other languages
- new property BoldSelHeads controls bold headings of selected cell
- new property TopRow scrolls grid to show a particular row at the top of the table
- new read-only property IsNumber tests a cell for a valid numeric value
- new methods SortRowNames and SortRowAttributes sort the data according to the row names and the row attributes
- new methods SortColNames and SortColAttributes sort the data according to the column names and the column attributes
- commands Select All and Empty Cells implemented in default data popup menu
- new read-only properties VisibleColCount and VisibleRowCount return then number of visible columns and rows
- bug fix: property PopupDMask and property PopupHMask now work as expected (paste and edit commands could not be switched off)
- bug fix: method Clear now resets the row and column attributes, as well
- bug fix: copy and paste routines now take care of cell states as well
- bug fix: assigning a comment does no longer create a range check error
- Release 9.0 [May-28, 2007]
- new functions NrOfMarkedDataA and NrOfMarkedDataB return number marked data cells
- new property BoldMarks determines bold/normal font of marked cells
- new property IfAnyMarked checks if at least one cell of the table editor is marked.
- PopupMenuClickCopy now copies selected data both to the matrix clipboard and to the Windows clipboard.
- property ClipboardUseFullPrec controls numeric precision when copying to Windows clipboard
- event OnMouseUp published
- bug fix: copy into data clipboard does not crash after matrix transpose
- Release 8.5 [Feb-18, 2006]
- bug fix: PopupMenuClickExtClip does no longer recognize a zero value at the end of the text if it is actually empty
- bug fix: dimension of table editor is adjusted correctly if data is imported into an external (assigned) TDataTable
- Release 8.2 [Nov-03, 2004]
- no changes
- Release 8.1 [Aug-29, 2004]
- available for Delphi™ 8 for .NET
- the events OnKeyUp, OnKeyDown, and OnKeyPress are now available
- bug fix: changing the number of columns does no longer generate occasional access violation errors
- bug fix: SuppressPaint is no longer mistakenly set to TRUE by various methods
- bug fix: default precision is correctly set when increasing the size of the matrix
- bug fix: Redimension generated range error when reducing table size
- Release 8.0 [Apr-15, 2004]
- NTabEd is now based on TDataTable (FData is replaced by Data, which is of type TDataTable)
- NameStrType is now replaced by TDTNameStr (of unit DataTable)
- ReadHeaderOfASC moved to unit FILESYS
- selected column/row is now indicated by bold font
- new properties ColorFixed and ColorBackground allow to control the base colors of the grid
- bug fix: highlighted selected cell is now indicated correctly if moving selection by cursor keys
- bug fix: height of rows after Redimension operation is now adjusted correctly
- Release 7.2 [Mar-23, 2003]
- NTABED is now part of GuiPack
- Release 7.0 [Sep-15, 2002]
- available for Delphi™ 7.0
- the unit is now CLX compatible
- PopupMenu now published
- internal default popup menu actions are now puplic
- bug fix: internal popup menu is no longer displaced if parent control is not the form
- Release 6.5 [May-28, 2002]
- available for C++Builder™ 6.0
-
Release 6.0 [Aug-06, 2001]
- available for Delphi™ 6.0
- bug fix: ReadFromASCFile has correct paint suppression
- ReadFromASCStream, ReadHeaderOfASCStream implemented
- ImportASCStream, ExportASCStream implemented
- ColorSelected: selected row and column is now indicated with different color in headers
-
highlighted region is now displayed using the windows colors (clHighlight
and clHighLightText)
-
Release 5.5 [Jun-09, 2000]
- available for C++Builder™ 5
-
bug fix: OnSetTextEdit event is now generated correctly
-
Release 5.0 [Oct-09, 1999]
- NTABED is now available for Delphi™ 5.0 (as part of the SDL Component Suite 5.0)
- bug fix: ExportASCFile now suppresses painting during exporting
-
bug fix: ImportASCFile does no longer restrict the max. number of elements
for BCB, and D2 or higher (was a problem originating from 16-bit days)
-
Release 1.2 [Apr-02, 1999]
- NTabEd now available for C++Builder™ 4.0
- CopyContentsFrom now also copies the cell state flags
- property CellState implemented
- popup menu "Extract From ClipBoard" implemented
- ASC format extended to cope with blanks in var/obj names
- Width of row/column names extended to 50 characters (for 32 bit environments)
- FindRowIndex, FindColIndex implemented
- Default options changed (thumbtracking and colresizing TRUE)
-
Sorting (SortCols & SortRows) implemented
-
Release 1.1 [Nov-08, 1998]
- NTabEd now available for Delphi™ 4.0 and offered to the public
- problem with 'Free' of DataCopy solved
- DataCopy is now a common container to ALL instances of NTabEdit
- Export has now correct header flags
- SetNrCols now adjust the number of dec. places correctly
- Popup menus redesigned
- OnChange event implemented
- OnChangeSetup event implemented
- marking supports now two different types
-
AutoColWidth implemented
-
Release 1.0 [Sep-17, 1998]
- first release to a limited group of developers