X-DBGrid Component 2.6 ====================== X-DBGrid Component 2.6 is a part of X-Files Components 2.6 and contains only one component (TXDBGrid) designed for Delphi 3, 4, 5, 6 & 7. TXDBGrid is the functional extension of Borland's TDBGrid. TXDBGrid implements all standard TDBGrid's functions and the many additional, which are launched by including new Options or by setting values for new properties. TXDBGrid is fully compatible with TDBGrid component on properties level and can be used as replacement without losing existing values. TXDBGrid has its own ColumnEditor, which can fully support all new column's properties. The package requires using latest released service pack for each version of Delphi: Delphi 3.02, Delphi 4.03, Delphi 5.01, Delphi 6.02 & Delphi 7.00. If the unit version mismatch error occur during installation, you should install before appropriate service pack for your Delphi. Overview ======== Additional functions accessible in TXDBGrid: + Right mouse button column moving + Column titles handled like buttons + Showing markers in title area + Switching markers between columns + Showing multirows headers (common for near columns) + Showing multilines text for data, titles and headers + Showing word wrapped text for data and titles + Vertical text justification for data and titles + Ending long text by "..." for data and titles + Enable/disable edit for any individual column + Data lines count change possibility + Showing ftMemo or ftGraphic field into cell + Defining width range for any column + Defining height range (in data lines) for any row + Vertical column synchronization between grids allows creation of multilevel footers with several summarization !!! + Showing/Hiding horizontal and/or vertical scrollbars + Any column moving can be accepted or discarded + Searching columns by field name + Changing color and font properties for any data cell + Drawing pictures into cells (many variants) + Drawing text onto pictures (wallpapers) + 1.2 + Drawing and handling checkboxes into cells !!! + 1.4 + Stretching columns to grid client area (StretchMode) !!! + Enable/disable insert and delete launched by XDBGrid + Other components can be arranged with columns moving/resizing/scrolling + All cells in current/selected/edited row can have own color + All new properties can be arranged by category in Object Inspector (D5) + 1.5 + Few first columns in grid may be unscrollable (FixedCols) + Changing styles for all fixed elements of grid (FixedStyle) !!! + Indicator title may be handled as button (FillerButton) + 2.0 + Version info accessible from component popup menu (About) + 2.1 + Full handle for markers and multicolumn sorting (OrderFields) !!! + Handling and showing Hints for titles, headers and filler !!! + Handling and showing ToolTips for data cells !!! + Handling and showing EditorHints for edited cells + Drawing pictures for titles and filler (TitleImages) !!! + Drawing user defined markers list (TitleMarkers) + Drawing user defined indicators list (IndicatorImages) + Drawing user defined pictures list for any column (Images) + Individual handling PopupMenu for titles and filler + Alternative handling for SelectedRows by Checkboxes + 2.2 + Context help system contained over 150 topics has been implemented !!! + Custom multiline editor is now available in design-time + Handling bdRightToLeft BiDiMode for Middle Eastern locale + Graphic drawing optimized, code compacted, some bugs fixed + 2.4 + Context help system is now available in Trial version !!! + Extended rows selection system has been implemented !!! + Record position in the grid can be now saved/restored !!! + Additional options for pick/lookup lists (ListOptions) !!! + Additional options for PickList/PickText (PickOptions) !!! + New events OnColGetText/OnColSetText for XDBGrid !!! + Drag & Drop for all/selected grid's rows + Support for mouse wheels is now available + 2.5 + Support for ADT fields !!! + Notification about selection's changes (OnSelectRow) !!! + Handling and showing Hints for data cells and indicator Intended changes implemented in TXDBGrid: - For original names of class added 'X' - For types TDBGridOption and TDBGridOptions added 'X' - Corrected font color setting for Enabled = False (D3) - Corrected title width calculation for last visible column (D4,D5} - Corrected setting and storing default column width - For dgTitleButtons event OnTitleClick is performed in button like style - For dgRightMoving column moving doesn't perform event OnTitleClick + 1.2 - Corrected storing width for hidden columns (D4,D5) - Corrected grid refresh for Enabled changes - Corrected bug for ShowEdit=False + 1.4 - Corrected storing columns width into Field.DisplayWidth (D4,D5) - Corrected mouse click when options dgRowSelect and dgRowScroll are on - Corrected and expanded column editor functionality - Added excluding dgAlwaysShowEditor for ShowEdit=False or CheckBox=True - Added parameter Selections: TSelections to TPaintColumnCellEvent - Added value ctCustomToggle to the type TCheckBoxToggle (no toggle) - Added checkbox toggle by space + 1.5 - Added const slCellFixed to TSelections - Corrected bugs for HeaderColor, StretchGrid (D3), OnRowResize + 2.0 - Corrected bug for ImageDraw when Wallpaper = True + 2.1 - Corrected bug for click on selected cell of grid (2.01) - Corrected refresh data cells when FixedCols are defined - Corrected choice of indicator mark for dsEdit/dsInsert modes (D3,D4,D5) - Default value for properties Button & FillerButton has been changed !!! - Default option dgMarkerAutoSwitch has been replaced by dgMarkerAutoToggle + 2.2 - Corrected bug for indicator markers painting under Windows'2000 - Corrected WordWrap implementation for CR+LF handling - Corrected rows height changing when grid is in edit mode - Graphic painting has been optimized - Minor bugs have been fixed. + 2.4 - OnMouseDown event is now really availabe for developer - dgTitleButtons option don't implicit now dgRightMoving option - dgRightMoving is no longer default option - Corrected bug for RowHeightsChanged, ColWidthsChanged, LinesCount + 2.5 - Corrected bug for ADT's column Index setting and OnMouseDown event call + 2.6 - Corrected bug for ToggleCheckBoxValue and SaveToStream methods History ======= X-Files Components 1.0 (June 14, 1999). First version for Delphi 4 only. X-Files Components 1.1 (July 4, 1999). First version for Delphi 3. Little changes in demo programs for Delphi 3 compatibility. X-Files Components 1.2 (September 9, 1999). + New Option - dgIndicatorMarkOff + New properties - ImageOffsetX, ImageOffsetY + New properties - CheckBox, CheckBoxValues, CheckBoxToggle + New procedures - IsCheckBoxValue, ToggleCheckBoxValue X-Files Components 1.3 (October 16, 1999). First version for Delphi 5. Little changes in source code. X-Files Components 1.4 (December 18, 1999). + New Option - dgAllowDeleteOff, dgAllowInsertOff + New properties - StretchMode, StretchWidthMax, StretchWidthMin, WidthBase + New properties - ScrollBarHeight, ScrollBarWidth, TrueWidth + New procedures - StretchGrid + New events - OnColumnResize, OnColumnScroll, OnRowScroll X-Files Components 1.5 (March 26, 2000). + New properties - FillerButton, FillerColor, FixedCols, FixedStyle + New properties - RowHeight, TitleHeight + New events - OnFillerClick X-DBGrid Component 2.0 (June 24, 2000). + New procedures - HeaderLeft, HeaderRight X-DBGrid Component 2.1 (November 7, 2000). + New Option - dgMarkerAutoToggle, dgMarkerAscendOnly + New properties - FillerHint, FillerIndex, FillerPopupMenu, HintOptions, IndicatorImages, IndicatorPopupMenu, IndicatorWidth, OrderFields, TitleImages, TitleMarkers, LastShiftState + New properties - ColLineWidth, RowLineWidth, Indicators, Markers + New events - OnCalcImageIndex, OnCellHint, OnIndicatorClick, OnOrderChanged + New procedures - BeginOrderUpdate, EndOrderUpdate, SetupOrderFields + New properties - EditorHint, ToolTips, ToolTipsWidth, TransparentColor, Images, AutoToggle, Hint, HeaderHint, HeaderHintRows, ImageIndex, MarkerIndex, OrderIndex, PopupMenu + New procedures - ToggleMarker, UpdateMarkers + New procedures - ModifyOrderFileds, ExtractOrderFields, CommaToSemicolon, SemicolonToComma X-DBGrid Component 2.2 (March 21, 2001). + Context help system + Custom multiline editor + Support for BiDiMode property X-DBGrid Component 2.3 (July 17, 2001). First version for Delphi 6. Little changes in source code. X-DBGrid Component 2.4 (November 25, 2001). + New Options - dgAutoUnselectOff, dgExtendedSelect + New properties - SelectionAnchor, DragRows + New procedures - SelectAll, SelectRows, InvertAll, InvertRows, UnselectAll, UnselectRows, ColGetText, ColSetText, DisablePosition, EnablePosition, PositionDisabled + New events - OnColGetText, OnColSetText + New properties - ListOptions (loAutoDropDown, loSelectNextValue, loAllowClearValue), PickOptions (poDropDownList, poListItemOnly, poSelectPickText, poStoreItemIndex, poAcceptPickList, poAcceptItemIndex), PickText X-DBGrid Component 2.5 (March 25, 2002). + New Options - dgInternalSelect + New HintOptions- hoDataHints, hoShowDataHints + New properties - IndicatorHint, Column.Hint + New events - OnColExpand, OnRowSelect + New HintCell - hcData, hcIndicator X-DBGrid Component 2.6 (September 17, 2002). First version for Delphi 7. Little changes in source code. Installation ============ To use "X-DBGrid Component" in Delphi 7, you should: 1. Uninstall previous version of "X-Files Components" or "X-DBGrid Component" from "Component->Install Packages...->Design Packages", if exist. 2. Use the "File->Open..." menu item and select "...\Delphi 7\XDBGrid70.dpk". 3. Click the "Install" button in the "Package - XDBGrid70.dpk" window. 4. Confirm the installation on the "Data Controls" page. 5. Add "...\XDBGrid\Delphi 7" directory to "Tools->Environment Options->Library ->Library Path". To use "X-DBGrid Component" in Delphi 6, you should: 1. Uninstall previous version of "X-Files Components" or "X-DBGrid Component" from "Component->Install Packages...->Design Packages", if exist. 2. Use the "File->Open..." menu item and select "...\Delphi 6\XDBGrid60.dpk". 3. Click the "Install" button in the "Package - XDBGrid60.dpk" window. 4. Confirm the installation on the "Data Controls" page. 5. Add "...\XDBGrid\Delphi 6" directory to "Tools->Environment Options->Library ->Library Path". To use "X-DBGrid Component" in Delphi 5, you should: 1. Uninstall previous version of "X-Files Components" or "X-DBGrid Component" from "Component->Install Packages...->Design Packages", if exist. 2. Use the "File->Open..." menu item and select "...\Delphi 5\XDBGrid50.dpk". 3. Click the "Install" button in the "Package - XDBGrid50.dpk" window. 4. Confirm the installation on the "Data Controls" page. 5. Add "...\XDBGrid\Delphi 5" directory to "Tools->Environment Options->Library ->Library Path". To use "X-DBGrid Component" in Delphi 4, you should: 1. Uninstall previous version of "X-Files Components" or "X-DBGrid Component" from "Component->Install Packages...->Design Packages", if exist. 2. Use the "File->Open..." menu item and select "...\Delphi 4\XDBGrid40.dpk". 3. Click the "Install" button in the "Package - XDBGrid40.dpk" window. 4. Confirm the installation on the "Data Controls" page. 5. Add "...\XDBGrid\Delphi 4" directory to "Tools->Environment Options->Library ->Library Path". To use "X-DBGrid Component" in Delphi 3, you should: 1. Uninstall previous version of "X-Files Components" or "X-DBGrid Component" from "Component->Install Packages...->Design Packages", if exist. 2. Use the "File->Open..." menu item and select "...\Delphi 3\XDBGrid30.dpk". 3. Click the "Install" button in the "Package - XDBGrid30.dpk" window. 4. Confirm the installation on the "Data Controls" page. 5. Add "...\XDBGrid\Delphi 3" directory to "Tools->Environment Options->Library ->Library Path". Make sure your Delphi library path contains only one path pointing to X-Files Components or X-DBGrid Component package. If you reinstall the package in other location, make sure you delete old entry from your library path. The prefered path to station X-Files Components is: $(DELPHI)\XFiles The prefered path to station X-DBGrid Component is: $(DELPHI)\XDBGrid To install Context Help File into Delphi 7, 6, 5 or 4, you should: 1. Copy the XFiles.hlp and XFiles.cnt files to the $(Delphi)\Help directory. 2. Select the Help | Customize... menu item to display OpenHelp window. 3. Add the $(Delphi)\Help\XFiles.cnt file to the Contents page. 4. Add the $(Delphi)\Help\XFiles.hlp file to the Index page. 5. Add the $(Delphi)\Help\XFiles.hlp file to the Link page. To install Context Help File into Delphi 3, you should: 1. Copy the XFiles.hlp and XFiles.cnt files to the $(Delphi)\Help directory. 2. Add line :Link XFiles.hlp to the Third-party section in $(Delphi)\Help\Delphi3.cfg file. 3. Add line :Index XFiles.hlp to the Index section in $(Delphi)\Help\Delphi3.cnt file. 4. Add line :Include XFiles.cnt to the Include section in $(Delphi)\Help\Delphi3.cnt file. 5. Remove the $(Delphi)\Help\Delphi3.gid file, if exists. Default size and position of X-Files Components Help windows is suitable for Delphi 5 & 6. Inform me, if you want to receive Context Help File suitabled for Delphi 3 or 4. Content of the help is common for all versions. Registering =========== Package "X-DBGrid Component" is a Shareware product. Trial version of package can be used only in Delphi IDE. If you find it useful and you want to receive full version, you should register it. You can receive registered version with or without components source code, depending on registration fee. Registered version of package may be used in your programs without additional fee. Read "Register.txt" file or follow to my Website for detailed description. All registered users will be notified by e-mail about new package versions. All updates (for version 2.x) will be sent out FREE via internet. Contact ======= Contact me via internet, if you have any questions, comments, suggestions or orders from Poland: Author: Krzysztof Szyszka e-mail: kszyszka@priv.onet.pl (prefered) e-mail: kszyszka@polbox.com (alternate) http://kszyszka.republika.pl/ http://republika.pl/kszyszka/ DISCLAIMER OF WARRANTY ====================== PRODUCT IS SUPPLIED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE AUTHOR DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WAR- RANTIES OF MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE. THE AUTHOR ASSUMES NO LIABILITY FOR DAMAGES, DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT FROM THE USE OF THIS PRODUCT.