📄 history.txt
字号:
EhLib history
Version 4.0
* This version does not support Delphi 4 and C++ Builer 4 anymore.
+ New components:
TMemTableEh - dataset, which hold all data in memory.
TDataDriverEh - Delivers records in TMemTableEh and processes changed records.
TSQLDataDriverEh, TBDEDataDriverEh, TIBXDataDriverEh, TDBXDataDriverEh
and TADODataDriverEh
See detail info in AboutEhlib4_0.Txt
Version 3.6
+ Added support of Delphi 2005 (Under VCL.Win32 and VCL.NET).
+ Added Tooltips property in TDBEditEh, TDBDateTimeEditEh, TDBNumberEditEh,
TDBLookupComboboxEh. Allows to show the whole text of the edit control in
special hint window if text does not fit in visible area. Text is displayed
when the mouse cursor situated above the edit control.
In TDBGridEh
+ Added OddRowColor and EvenRowColor property to draw odd and even
rows with different colors. It works only if sequence numbers are available
for DataSet(DataSet.IsSequenced = True) and DataSet.RecNo return valid info.
+ Added dghRecordMoving value in TDBGridEhOption type (OptionsEh property).
Allows to move records in dataset. Record is moved by striking and
moving mouse over indicator column. By default grid calls
TDatasetFeaturesEh.MoveRecords, where code save values of record, delete
record and insert new values in the position specified by RecNo.
+ Added OnMoveRecords event of TGridMoveRecordsEventEh type.
TGridMoveRecordsEventEh = function(Sender: TObject; BookmarkList: TStrings;
ToRecNo: Longint; TreeLevel: Integer; CheckOnly: Boolean): Boolean of object;
BookmarkList is a list of bookmarks which need to move.
ToRecNo is a destination RecNo.
TreeLevel is a destination level in tree list, used only when grid connected to
MemTableEh.
CheckOnly - determines whether the function have to return result, are there enabling
to move BookmarkList to ToRecNo, but does not move BookmarkList.
+ Added OnSelectionChanged event. Occurs when multiselected area has been changed.
* In AdvTech\MemTableEh: Added possibility to filter data in TreeList mode; usage one
array of records by the several datasets; moving records in TreeList in
dghRecordMoving mode.
Version 3.5
+ Added HighlightRequired property in TDBEditEh, TDBDateTimeEditEh, TDBNumberEditEh,
TDBLookupComboboxEh and TColumnEh, TColumnDefValuesEh. Determines whether need to
draw dotted red line under the text editor for empty required field (when
TField.Required = True and field is empty).
+ Added OnCheckDrawRequiredState event in TDBEditEh, TDBDateTimeEditEh, TDBNumberEditEh,
TDBLookupComboboxEh and TColumnEh. Write event need to change if need to draw a
condition RequiredState (dotted red line under the text editor).
+ Added property Layout: TTextLayout in TColumnEh. Specifies the vertical placement of
the text within the grid cell.
+ Added property HideDuplicates: Boolean in TColumnEh. Determines whether to hide
duplicated values in the column.
* Changed image of 3D borders in grid when the Windows XP themes active in application.
* Procedure ExcecuteDBGridEhFindDialog is renamed to ExecuteDBGridEhFindDialog.
* In AdvTech\MemTableEh: Added indexes and autogenerating the list of values for
dropdown box in filter cells.
Version 3.4
+ Added support of Delphi 8 (VCL.NET).
In TDBGridEh
+ Added property ToolTips in Footer and ColumnDefValues.Footer.
+ Added property SumValue: Variant in TColumnFooterEh.
+ Added property ShowImageAndText in TColumnEh. Allows to show Image from ImageList
and field Text in grid cell simultaneously. Set ImageIndex in OnGetCellParams event.
In TCustomDBEditEh
+ Added property Images: TCustomImageList. Images from imagelist can appear at the left
part of TDBEditEh, TDBDateTimeEditEh, TDBNumberEditEh or TDBLookupComboboxEh.
+ Added event OnGetImageIndex: TGetImageIndexEventEh.
TGetImageIndexEventEh = procedure(Sender: TObject; var ImageIndex: Integer) of object;
Event is called when Text or Value in TCustomDBEditEh is changed. Set new ImageIndex
depending on Text or Value.
Version 3.3
For TDBGridEh
+ Added new form 'DBGridEhFindDlgs' - find dialog in DBGridEh. Dialog allows
to find text in the grid: In specified column or on whole grid;
From any part of field, Whole field or From beging of the field.
Set new dghDialogFind value to OptionsEh to allows find dialog in DBGridEh.
Default shortcut to show find dialog in the grid is 'Ctrl-F'. When dghIncSearch
also included in the OptionsEh then first pressing 'Ctrl-F' enters the grid in
the Increment Search mode and holding 'Ctrl' press 'F' again will show the
find dialog.
In TDBGridEh
+ Added dghDialogFind value to the TDBGridEhOption type (property OptionsEh).
In TSTColumnFilterEh
+ Added KeyField, ListField, ListSource properties. Now you can adjust combobox
in SubTitle Filter cell. If Column.STFilter.ListSource is not empty then grid
will create combobox for such filter cell. ListSource defines the list of values
in drop-down list, ListField defines field whose values are displayed in
drop-down list, KeyField identifies the field in the ListSource dataset whose
value will takes to build filter expression.
In TSQLDatasetFeaturesEh
+ Added SupportsLocalLike property. Determines if the dataset supports 'Like'
keyword in Filter property. Modules from DataService directory of EhLib archive
rewrited to support this property.
In TMRUListEh
+ Added AutoAdd property of Boolean type. Determines that the edit control will
add new Text in MRUList automagically when control loses focus. Default value
for property is True. You can use it (set to False) to fill MRUList manually,
for instance from database table.
* Some bugfixes.
Version 3.2
In TDBGridEh
+ Added ability to fill cell by the value from previous record.
You can use "Ctrl+'" key to do it.
+ Added dghDblClickOptimizeColWidth value to the TDBGridEhOption type
(property OptionsEh). Adding this value to OptionsEh property
allows grid to set optimal column width (to fit text in cells of column).
on double-click on ColSizing line.
+ Added ability to show special row (under title) where you can enter
expressions in cells for filtering records in dataset.
(Expression in the cell can look like: "1", ">=1", ">1 AND <=5", "%TestStr%")
When cursor reside in the filter cell they can press ENTER to apply filter.
For automatically filtering data in dataset need to add one of the units
EhLib... (EhLibADO, EhLibBDE, EhLibCDS) to 'uses' clause of any unit of your
project. Now EhLib have objects to filter data in the TClientDataSet, TQuery,
TTable and TADOQuery. You have to write and register your own object to filter
data in DataSet that not present in this list or you can write
TDBGridEh.OnApplyFilter event for every grid.
Added property - STFilter: TSTDBGridEhFilter with subproperties:
property Local: Boolean - grid does not use it, but object that
perform filtering can determine whether it will filter locally
in dataset or on the server (by adding filter expressions in
SQL 'WHERE' clause).
property Visible: Boolean - Specifies whether the filter row is visible.
+ Added OnApplyFilter event.
+ Added ApplyFilter function in TDatasetFeaturesEh class.
In TColumnEh
+ Added new property - STFilter: TSTColumnFilterEh;
with properties
DataField: String - Specifies the field name that use to
filter data if Column.FieldName is not fit for it.
Visible: Boolean - Specifies whether user can enter expressions
in filter row for this column.
ExpressionStr: String - text expression in StFilter cell.
Expression: TSTFilterExpressionEh - coded expression in StFilter cell.
Version 3.1
* Changes in TRegPropStorageManEh:
'Key' property moved from 'published' to 'public' part.
(C++ Builder does not support HKEY type in published part).
Added RegistryKey property of TRegistryKeyEh type.
+ Added (in source included version only) preview version of the
TMemTableEh component. Dataset, which hold all its data in memory,
furthermore can fetch data from other dataset's, unload changes
back to dataset and support special interface, that allow to
view all data without changing active record.
See detail info in AdvTech\MemTableEh\readme.txt dir.
+ In DBGridEh: Added support of IMemTableEh interface in DataSet
that allow to view all data, without changing active record.
Version 3.0
In TDBDateTimeEditEh
+ New values in TDateTimeKindEh type (property Kind).
TDateTimeKindEh = (dtkDateEh, dtkTimeEh, dtkDateTimeEh, dtkCustomEh);
+ Added EditFormat property. Now you can type custom date/time format using
next format elements: 'YY', 'YYYY', 'MM', 'DD', 'HH', 'NN', 'SS'.
Library is divided to design-time and run-time packages.
EhLib[XX] - run-time package and DclEhLib[X] - design-time packages,
where [XX] is digit number of VCL version:
[40] for Delphi 4, [50] for Delphi 5, etc;
And EhLibB[XX] with DclEhLibB[XX] for C++ Builder.
Upon installation, all components is placed to the separate page in
components palette with name - 'EhLib'.
Note that Delphi IDE does not move components to the new default
place when you install new version of same component(s). So if you
already has EhLib installed, then installation new (3.0) version
does not move EhLib components to the 'EhLib' page on components palette.
To force Delphi IDE to move compontes to the default place on
components palette do next:
Open menu: Component->Configure Palette.
Select '[All]' line in Pages listbox.
Click 'Default Pages' button.
New componetns: TPropStorageEh, TIniPropStorageManEh, TRegPropStorageManEh.
Components realize technology to store components properties to/from settings
storage such as ini files, registry etc.
+ Added (in source included version only) design-time ClientDataSet edit
window. See detail info in AdvTech\CDSDesign\readme.txt dir.
Version 2.6
+ Added Windows XP themes support (Only under Delphi 7).
+ Added (in source included version only) preview restricted
version of EhLibCLX - EhLib under Borland Component Library for
Cross-Platform.
See detail info in AdvTech\EhLibCLX\readme.txt dir.
+ Added (in source included version only) preview version of technology
to store components properties to/from settings storage such as
ini files, registry etc.
See detail info in AdvTech\PropStorage\readme.txt dir.
Version 2.5
+ Added Delphi 7 support.
+ New units: CalculatorEh - TCalculatorEh, TPopupCalculatorEh
DbUtilsEh - Utilities to sort data in DataSet from DBGrid
EhLibADO - Register object that sort data in TADOQuery
EhLibBDE - Register object that sort data in TQuery
EhLibCDS - Register object that sort data in TCustomClientDataSet
In TDbGridEh
+ Added possiblity to sort data in DataSet after sorting markers
will be changed. You have to add dlgAutoSortMarkingEh to OptionsEh,
set TColumnEh.Title.TitleButton to True for required columns,
keep OnSortMarkingChanged event empty, add one of the units
EhLib... (EhLibADO, EhLibBDE, EhLibCDS) to 'uses' clause of any unit of your
project. Now EhLib have objects to sort data in TClientDataSet, TQuery
and TADOQuery. You have to write and register your own object to sort data
in DataSet that not present in this list.
+ Added SortLocal property in TDBGridEh. Objects that sort data in DataSet
can use this property to determine how to sort data, on client or on server.
+ Changed highlight coloring in TDBGridEh for multiselected cells and
active cell when TDBGridEh have not focus when color mode have more then
256 color. I recombinate you to use dgAlwaysShowSelection in Options
and dghRowHighlight in OptionsEh.
If you want to keep old method of highlighting for all grids set
DBGridEhDefaultStyle.LuminateSelection to false (at run time).
In TDBNumberEditEh and TColumnEh
+ Added dropped down calculator in TDBNumberEditEh and TColumnEh for numbered
fields (need set TColumnEh.ButtonStyle to cbsDropDown).
In TColumnEh
+ Added DisplayFormat and EditMask properties.
In TColumnFooterEh
+ Added DisplayFormat property.
Version 2.4
+ Added MRUList property (Most recently used values) in all edit
controls and TCloumnEh. If MRUList is Active then in time of edit text
the special listbox will be dropded down where users can select last entered
values. When user leave edit control or inplace editor in the grid the value
will be added in MRUList.
MRUList: TMRUListEh = class(TPersistent)
property Active: Boolean - MRU list will drop down in time of edit text.
property CaseSensitive: Boolean - take into account char case.
property Items: TStrings - list of items.
property Limit: Integer - max count of items. Old will be deleted.
property Rows: Integer - Count of rows in dtop down window.
end;
To distinguish MRU dropdown box from other, all other dropdown boxes have 3D border.
+ Added new component - TDBCheckBoxEh.
Can works as in data-aware mode as in usual not data-aware mode.
If DataField and DataSource properties is not assigned then
checkbox works in usual not data-aware mode.
Have Flat and AlwaysShowBorder properties to show in the flat mode.
In TDropDownBoxEh (TColumnEh.DropDownBox, TLookupComboBoxEh.DropDownBox) added property
+ ListSource of TDataSource type.
This property will be used when lookup inplace editor in the grid or
LookupComboBox have focus. It allows to have different list of
lookup list values for different records of master data.
In TDBSumList
+ Added OnAfterRecalcAll event. Event is call after SumList recalculate
aggregated values.
In TDbGridEh
+ Added OnSumListAfterRecalcAll event.
Version 2.3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -