The unit RepList contains the Delphi™/C++Builder™ visual component TReportListView which provides a list view similar to the Delphi™/C++Builder™ component TListView with the ViewStyle set to vsReport. TReportListView is up to a factor of 100 faster than the standard list view, provides a sorting facility, and an enhanced layout of the list. More details can be found in the online help pages.

The unit REPLIST is part of the SDL Component Suite.
| RepListv |
Shows the capabilities of the unit REPLIST. You can add 1000s of additional entries to see how fast TReportListView is. |
replistv.zip
(334 kB) |
| ReplDragDrop | Shows how to implement drag and drop using the report listview contained in unit REPLIST. | repldragdrop.zip
(272 kB) |
What's new:
- Release 9.0 [May-28, 2007]
- new method RemoveEmptyRows implemented
- internal data structure of component is now packed into separate class TRLData
- new property ShowEmptyCheckBoxes allows to hide check boxes of empty cells
- new function MouseCell returns the cell number of a particular point of the report list
- two new functions CountCheckedElemsInCol and CountCheckedElemsInRow count checked elements
- new property CountHeadRows returns number of visible headers
- Enabled property now affects colors of text, check boxes and highlighting (cells appear dimmed if disabled)
- column headers can now be adjusted in color by ColorColumnHd and ColorColumnHdText
- the data of the report listview can now be displayed without any headers by setting both the new CommonHeaderVisible and the new ColumnHeadersVisible properties to FALSE.
- new common header implemented, which is controlled by the following properties: CommonHeader, CommonHeaderVisible, CommonHeaderAlignment, ColorCommonHd, ColorCommonHdText
- new property FixedFirstColumn can be used to create a row header
- improvement: component uses now double buffering to reduce flicker when scrolling
- bug fix: horizontal scrolling no longer creates spurious vertical lines in header
- bug fix: FirstSelectedRow returned 1 in some cases despite the number of rows was zero
- bug fix: InterRowIndicatorPos works now correctly if TopRow is greater than 1
- bug fix: component is no longer disabled if EditRowEntries is called with an readonly column formatter
- bug fix: Fill now works correctly for checked columns too
- bug fix: ExportHTMLTable now creates correct HTML tables for checked columns, too
- bug fix: property LeftCol now addresses the columns correctly (had an offset of +1)
- Release 8.5 [Feb-18, 2006]
- new method ExportHTMLTable allows to export the report list view as an HTML file
- new event OnBeforeHTMLExport allows to control specific HTML properties of the exported text
- the new event OnBeforeSortExchange allows to influence the sorting behavior of the list view
- CopyToClipboard offers now an additional, overloaded version which allows to insert any string as separator
- Release 8.2 [Nov-03, 2004]
- no changes
- Release 8.1 [Aug-29, 2004]
- available for Delphi™ 8 for .NET
- OnBeforeRenderCell event implemented
- bug fix: ColumnAlignment now affects alignment of column headers correctly
- Release 8.0 [Apr-15, 2004]
- ExpandColWidth extended by second parameter
- the method Sort triggers the OnPercentDone event
- new method LoadLinesFromFile implemented
- ReadFromXMLString implemented
- Mouse wheel support implemented
- OnPercentDone event for XML read/write operations implemented
- ColumnAlignment implemented
- new property DefaultValue implemented
- bug fix: umlauts are now handled correctly when storing the contents as XML data
- bug fix in AutoColWidth fixed which caused wrong column widths with checked columns
- bug fix: method AsNumber does not crash if called with strings containing a comma instead of a decimal dot
- bug fix: HTML-entities are now displayed correctly
- bug fix: OnRequestEditFormat now passes correct column number
- Release 7.2 [Mar-23, 2003]
- REPLIST is now part of GuiPack
- new property ColumnFormat allows to set default format for editing
- EditRowEntries, OnRequestEditOptions provide a convenient means to edit all cells of a row
- Release 7.0 [Sep-15, 2002]
- available for Delphi™ 7.0
- the unit is now CLX compatible
- handling of SuppressPaint improved
- new method CopyToClibBoard creates text copy of selected cells on the clipboard
- bug fix: check boxes can now be unchecked in seletect fields again
- bug fix: AutoColWidth now works correctly
- Release 6.5 [May-28, 2002]
- available for C++Builder™ 6.0
- sorted column is now indicated by small triangle in the header field
- check boxes of selected rows now use same color as text
- ColumnIndex implemented
- property DataID implemented
- OnDblClick is now only triggered if mouse is within cell range
- new properties InterRowIndicatorPos, InterRowIndicatorColor and InterRowIndicatorWidth
- InsertRow appends empty row if parameter is larger than current number of rows
- InsertRow resets sorted column indicator (LastSortColumn)
- InsertRow returns row number of actually inserted row (important for inserting rows with a row index higher than NrOfRows)
- Highlighting is now again adjusted in MouseDown event (for drag and drop compatibility)
- TReportListView is now descendant of TCustomDrawGrid (was TGrawGrid before)
- NrOfRows can now be set to zero
- bug fix: AutoColWidth now correctly adjusts width of checked columns
- bug fix: TopRow and LeftCol cannot be set to invalid values anymore
- bug fix: NrOfColumns cannot be set to zero any more
- bug fix: OnSelectCell is now triggered correctly
-
Release 6.0 [Aug-06, 2001]
- available for Delphi™ 6.0
- RemoveRow now clears all elements of row if called with last row in RepList
- NumSelectedRows, NumSelectedColumns implemented
- ExpandColWidth implemented
- Assign method implemented
- new methods ReadFromXMLStream and WriteToXMLStream implemented
- new property ColumnIsPwd implemented
- new property Comment implemented
- bug fix: LoadfromXMLFile does not crash if file is not available
- bug fix: OnSetEditText and OnGetEditText are now triggered correctly
-
bug fix: invalid selection does no longer create "grid out of range" error
-
Release 5.5 [Jun-09, 2000]
- available for C++Builder™ 5.0
- Arrows, Home, End and Page Up/Dwn keys move now selection AND highlighted row
- Highlighting is now adjusted in MouseUp event
- Sorting by mouse click on header now displays an hourglass cursor
- inherited OnDrawCell event is now executed
- property IsCheckedColumn introduced
- property ElemChecked implemented
- event OnCheckedChange implemented
- property ColumnEditable implemented
- selection of rows is now possible only with left mouse button
- InPlaceEditor is now publicly available
- selection of multiple columns implemented (array property ColumnSelected)
- properties ColorSelectedRow, ColorSelectedRowText replace ColorSelected and COlorSelectedText
- properties ColorSelectedCol, ColorSelectedColText implemented
- properties ColorSelectedBoth, ColorSelectedBothText implemented
- method DeselectAllColumns implemented
- functions FirstSelectedColumn and FirstSelectedRow implemented
- all colors are set to clInActiveCaption if Enabled = False
- methods SelectAllColumns and SelectAllRows implemented
- event OnSelectedChange implemented
- new methods SaveAsXMLFile, WriteToOpenXMLFile, LoadFromXMLFile and ReadFromOpenXMLFile
-
bug fix: scrollbars are now correctly spelled (and
thus available in C++Builder™ without modification of the hpp file)
-
Release 5.0 [Oct-09, 1999]
- REPLIST is now available for Delphi™ 5.0 (as part of the SDL Component Suite 5.0)
- PopupMenu is now available
- ScrollBars are now available
- properties ColorHigh, ColorHighText, HighLightRow, and HighLightColumn implemented
- property HighLightBold implemented
- property AsNumber implemented
- bug fix: property NrOfRows cannot be set to zero any more,
- property LastSortColumn implemented
- property LastSortOrder implemented
- property TopRow, LeftCol, VisibleColCount, and VisibleRowCount are now available
- array property RowSelected implemented
- selection of multiple rows implemented (property RowSelectMode)
- properties ColorSelected, ColorSelectedText implemented
- InsertRow implemented
- method DeselectAllRows implemented
- TReportListView is now decendant of TDrawGrid ---> drag is now available
- bug fix: RemoveRow now works correctly with sorted string arrays
-
DblClick event is no longer triggered if clicked into column header section
-
Release 1.0 [Apr-11, 1999]
- first version to be released

Shows the capabilities of the unit REPLIST. You can add 1000s of additional entries to see how fast TReportListView is.