История

16 мая 2024

EhLib.WinForms 1.5 доступна для загрузки

+ В PivotGridEh добавлена возможность перенос текста на новую сточку.
+ В PivotGridEh добавлена возможность отображения Total ячеек на уровне Child элементов.
+ В PivotGridEh добавлена возможность отображения Total ячеек до ячеек с данными.
+ В PivotGridEh добавлена возможность автоматически увеличивать высоту ячейки чтобы умещать весь текст в ячейке.

10 ноября 2023

EhLib.VCL 11.1 доступна для загрузки

+ Многоколоночный режим в TDBVertGridEh
+ Новые возможности в TPivotGridEh
+ Добавлена поддержка Delphi XE12

10 декабря 2022

EhLib.VCL 11.0 доступна для загрузки

+ Визуальные элементы для сложного форматирования в ячейках грида (LaControls)
+ Автоподсветка ссылок в текстовой ячейке DBGridEh

7 марта 2022

EhLib.VCL 10.2 доступна для загрузки

* Прекращена поддержка Delphi версии 7, 2005, 2006 и 2007.
+ Design-time окна редактирования компонент TMemTableEh и TDBGridEh под Lazarus IDE.
+ Поддержка печати и экспорта в Pdf файл.

1 июня 2021

EhLib.VCL 10.1 доступна для загрузки

+ Ускорение загрузки данных в TXlsMemFileEh
+ Изменение подсветки выделенных ячеек в DBGridEh
+ Диалог настройки колонок грида DBGridEh
+ Возможность в DBGridEh отображения ячейки как кнопки
+ Новые свойства в классе TCellButtonEh и новые возможности отображения CellButtons в ячейках грида
+ Новые функции и особенности в классе TDBSumList

3 октября 2020

EhLib.VCL 10.0 доступна для загрузки

+ Методы быстрой загрузки данных из разных DataSet’ов в TMemTableEh.
+ Возможность загрузки Xlsx файлов в класс TXlsMemFileEh.
+ Расширены возможности класса TXlsMemFileEh: Группировка строк, Параметры строк (Высота, Видимость), Масштаб, Параметры печати и т.д.
+ Расширенная версия процедур выгрузки DBGridEh в Xlsx файл.
+ Расширенная версия процедур выгрузки DBGridEh в текстовый файл.
+ История поиска в DBGridEh.SeachPanel.
+ Поддержка High DPI мониторов.

19 апреля 2020

EhLib.WinForms 1.4 доступна для загрузки

+ Компоненты для сводного анализа данных: PivotGridEh, PivotDataSourceEh, PivotGridToolBoxEh

12 марта 2020

EhLib.WinForms 1.3 доступна для загрузки

+ Компоненты для планирования событий и визуального управления событиями

21 февраля 2020

EhLib 9.5 доступна для загрузки

+ SearchPanel - Поиск и фильтрация по месту, напрямую в ячейке грида
+ Расширенная фильтрация выпадающих списков в компонентах TDBComboboxEh и TDBLookupComboboxEh
+ Событие при печати ячеек грида TPrintDBGridEh.OnPrintDataCell
+ Тонкая настройка формирования строки фильтра DBGridEh.STFilter для DataSet’а через компонент TDatasetFeaturesEh

30 января 2020

EhLib.WinForms 1.2 доступна для загрузки

+ RowDetailPanel в DataGridEh
+ Режим TreeView в DataGridEh с внутренним списком хранения данных в виде дерева

6 декабря 2019

EhLib.WinForms 1.1 доступна для загрузки

+ Новая выпадающая DropDown форма фильтрации для колонок типа DateTime с иерархическим разделением по разделам даты/времени
+ Добавлена возможность группировки данных в DataGridEh с использованием столбцов в качестве критерия группировки.

20 сентября 2019

EhLib.WinForms 1.0 доступна для загрузки

EhLib.WinForms это библиотека компонент и классов для Microsoft Visual Studio версии 2012-2019.

Библиотека предназначениа для создания визуальных приложений в API окружении Windows Forms.

Текущая версия библиотеки содержит следующие компоненты:

  • DataGridEh – Классический дата грид для работы и редактирования табличной информации. Аналог стандартного грида DataGridView.
  • DataVertGridEh – Грид для работы с табличной информацией, но повернутый на 90 градусов. Строки выступают полями таблицы, а столбцы записями списка.
  • DataPropertyGridEh – Грид для работы с одной записью таблицы данных в вертикальной ориентации. Это DataVertGridEh у которого виден только один столбец данных.
  • TextBoxEh – Элемент управления для ввода и редактирования текста.
  • MaskedTextBoxEh – Элемент управления для ввода и редактирования текста c ограничением формата вводимых данных.
  • NumericBoxEh – Элемент управления для ввода и редактирования числовых данных.
  • DateTimeBoxEh – Элемент управления для ввода и редактирования данных типа Дата, Время, Дата и время.
  • ComboBoxEh – Элемент управления для ввода и редактирования текста в поле с раскрывающемся списком для выбора значений.

29 июля 2019

EhLib 9.4 доступна для загрузки

+ Новый вид отображения данных в TPlannerEh - годовой период в разрезе по дням.
+ В DBGridEh возможность сохранения фильтров через SettingsKeeper, указанных в разделе STFilter.
+ Генератор Xlsx файлов.
+ Поддержка экспорта DBGridEh и DBVertGridEh в Xlsx файлы в Lazarus в режиме Win32/64 и CrossPlatform.

12 октября 2018

EhLib 9.3 доступна для загрузки

+ Поддержка Lazarus под Linux

18 апреля 2018

EhLib 9.2 доступна для загрузки

+ Поддержка ARC (Automatic Reference Counting) Delphi компиляторов
+ Совместимость с библиотекой CrossVCL. Теперь вы можете создавать GUI приложения под OS X и Linux на основе VCL проектов.
+ Технология сохранения настроек - SettingsKeeper
+ Анимация при перемещении столбцов в DBGridEh

7 апреля 2017

EhLib 9.1 доступна для загрузки

+ Хранение языковых ресурсов библиотеки с возможность динамической загрузки
+ Авто-сохранение макета PivotGridEh при повторной загрузки данных
+ Отображение/Скрытие общих сумм в PivotGridEh
+ Новые агрегатные функции в PivotGridEh (Product, StDev, StDevp, Var, Varp)
+ Редактирование ячеек в PivotGridEh
+ Динамический подсчет найденных ячеек в SearchPanel
+ Функции по сохранению/восстановлению состояния колонок в INI-файл и Registry в DBVertGridEh
+ Значок отображения фильтра в заголовке DBGridEh

27 сентября 2016

EhLib 9.0 доступна для загрузки

+ Новое окно DropDown календаря с поддержкой ввода даты и времени
+ Подсветка праздников, выходных и текущего дня в компоненте TPlannerCalendarPickerEh
+ Подсветка текущего дня и текущего времени в компоненте TPlannerControlEh
+ AllowedOperations в компоненте TPlannerControlEh
+ Статус ReadOnly в TPlannerControlEh и TPlannerDataItemEh
+ Делитель времени на 5, 6, 10, 15, 30 и 60 минут в компонентах TPlannerDayViewEh и TPlannerWeekViewEh
+ Новые свойства и события в компонентах TPlannerXXXViewEh (TPlannerDayViewEh, TPlannerWeekViewEh …)
+ Коллекция CellButtons в колонках DBGridEh и строках DBVertGridEh для создания кнопок в ячейках грида работающих без активации текстового редактора InplaceEditor
+ Режим поиска "Начинается с" в SearchPanel
+ Выбор записей в режиме DBGridEh.DataGrouping нажатием на групповую запись в разделе столбца индикатора

14 мая 2016

EhLib 8.2 доступна для загрузки

+ Новые возможности SearchPanel в TDBGridEh для поиска с учетом регистра, по полным словам и только в текущем столбце
+ SearchPanel в TDBVertGridEh
+ Заполнение пустого пространства справа от грида стилем ячеек грида
+ События для отрисовки и настройки заголовков грида.
+ Закраска кнопок редактора (EditButtons) в режиме прозрачного фона.

24 октября 2015

EhLib 8.1 доступна для загрузки

+ Bookmark’и как указатели на запись в TMemTableEh
+ Печать компонент TDBVertGridEh, TPivotGridEh, TPlannerControlEh
+ Событие для настройки отображения хинтов для элементов плана.
+ Формирование списка элементов в окнах MRUList на основе списка уникальных значений поля DataSet'а.
+ Новые события в TDBGridEh.SearchPanel

10 мая 2015

EhLib 8.0 доступна для загрузки

+ Новые компоненты для планирования и визуального управления событиями
+ Новые компоненты для выгрузки содержимого DataSet'а в текстовой файл и загрузка из текстового файла
+ Новое свойство CellDataIsLink в классах DBGridEh.TColumnEh и DBVertGridEh.TFieldRowEh
+ Перенос данных из DBGridEh и DBVertGridEh в MS Excel через буфер обмена с поддержкой формата данных
+ Индикатор формирования данных TPivotGridEh с возможностью прерывания процесса
+ Скрытие компонент формы в Design-Time
+ Выгрузка содержимого компоненты TDBVertGridEh в Xlsx файл

20 сентября 2014

EhLib 7.0 доступна для загрузки

+ Поддержка библиотеки LCL (Lazarus, Free Pascal).
+ Новые компоненты редактирования данных:
Компонент TDBMemoEh
Компонент TDBImageEh
Компонент TDBRadioGroupEh
Компонент TDBRichEditEh
+ Выгрузка DBGridEh в Xlsx формат.
+ В компоненте DBGridEh:
Интерактивные кнопки редактирования при отображении графических данных
Ширина и высота областей прокрутки (SсrollBar’ов)
Расширенное окно выпадающего список для фильтрации данных (STFilter) с возможностью поиска и внутренней фильтрацией данных.
+ Новое свойство PopupMenuParams и настройка глобального выпадающего меню для всех «гридов» проекта через TDBGridEhCenter
+ В IDE компоненты располагаются на двух закладках в палитре компонент.
+ Глобальный класс TDBAxisGridEhCenter для реализации единой точки модификации поведения компонент DBGridEh и DBVertGridEh.
+ ControlLabel - встроенный текст для подписи контролов редактирования данных
+ Новые компоненты для сводного анализа данных: TPivotGridEh, TPivotDataSourceEh, TPivotGridToolBoxEh.
 

23 ноября 2013

EhLib 6.3 доступна для загрузки

+ Новое свойство SelectionDrawParams: TGridSelectionDrawParamsEh
 
В DBGridEh и DBVertGridEh добавлено новой свойство SelectionDrawParams, которое позволяет настроить стиль отображения текущей выделенной ячейки
Свойство имеет следующие подсвойства:
SelectionStyle: TGridSelectionDrawStyleEh - стиль закраски отображения текущей выделенной ячейки
DrawFocusFrame: Boolean - определяет, надо ли рисовать точечную окантовку вокруг текущей выделенной ячейки.
 
Тип TGridSelectionStyleEh содержит следующие значения:
 
gsdsDefaultEh Стиль по умолчанию, определяется в зависимости от версии ОС и включенных схем Windows и схем Delphi. В случае наличия схем Windows устанавливается стиль gssListViewThemedEh, который использует для отображение текущей выделенной ячейки грида схему ListView. Если активен стиль Delphi XE то устанавливается стиль GridThemed.
gsdsClassicEh Классический стиль. Ячейка закрашивается однородно цветом clSelected;
gsdsGridThemedEh Для закраски используется Delphi XE стиль.
gsdsListViewThemedEh Для закраски используется Windows схема ListView.
 
Для глобального управления стилем подсветки во всех гридах проекта (если в гриде стоит значение gssDefaultEh) используйте свойства глобального объекта GridDrawStyle типа TGridDrawStyleEh.
Для получения доступа к объекту используйте процедуры GridDefaultDrawStyleEh, SetGridDefaultDrawStyleEh, объявленные в модуле GridsEh.pas.
 
Тип TGridDrawStyleEh имеет следующие свойства:
SelectionStyle: TGridSelectionStyleEh - стиль закраски отображения текущей выделенной ячейки
DrawFocusFrame: Boolean - определяет, надо ли рисовать точечную окантовку вокруг текущей выделенной ячейки.
 
Для изменения стиля подсветки во всех сеток проекта используйте подобный код:
 
unit MyMainForm;
uses ... GridsEh;
....
initialization
GridDefaultDrawStyleEh.SelectionStyle := gsdsClassicEh; 
//Отрисовываем выделенные ячейки классическим стилем.
end.
 
Настройка Lookup отношений непосредственно в колонках грида без использования lookup полей.
 
+ Новое свойство Column.LookupParams: TDBLookupDataEh в колонках грида DBGridEh и DBVertGridEh.
Свойство позволяет настроить lookup отношения в колонках грида.
Свойство содержит следующие подсвойства:
KeyFieldNames: String - Определяет поле (или поля) в Grid.DataSource.DataSet которое задает значение для поиска записи в LookupDataSet в поле заданном свойством LookupKeyFieldNames. Несколько полей разделяются знаком ';'.
LookupCache: Boolean - Определяет что надо скопировать ключевые значения во внутренний буфер для ускорения операция отрисовки ячеек грида.
LookupDataSet: TDataSet - Задает dataset значения записей которого будут отображаться в lookup контроле вместо значения поля KeyField.
LookupDisplayFieldName: String Определяет поле, значение которого будет отображаются на экране.
LookupKeyFieldNames: String Определяет поле (или поля) в LookupDataSet значение которого будет использоваться для поиска записей для значения поля заданного свойством KeyFieldNames.
 
Другие возможности этой версии
 
+ TBaseColumnEh.CaseInsensitiveTextSearch: Boolean default True - Регистронезависимый поиск в редакторе текста для Комбобоксов.
В колонках грида DBGridEh и DBVertGridEh и в контролах TDBComboboxEh TDBLookupcomboboxEh
+ LimitTextToListValues: Boolean Ограничивать список значений, которые можно ввести в контрол, только значениями выпадающего списка. В колонках грида DBGridEh и DBVertGridEh и в контролах TDBComboboxEh
+ В DBGridEh. В Design-Time при создании нового DataSet через Grid Design Panel можно выбрать Favorite DataSet'ы. В выпадающем меню "Create DataSet as" отображается список типов DataSet'ов только из списка Favorite.
+ В выпадающих списках фильтрации данных в гриде по столбцам можно быстро отметить несколько значений мышкой нажав, потянув вниз или вверх по списку и отпустив кнопку мышки.
+ В DBGridEh.
Если в DBGridEh установлено значение gioShowRowselCheckboxesEh в IndicatorOptions, то записи можно выделять массово нажав и потянув мышку.
+ В DBGridEh.Pas
В глобальном типе TDBGridEhCenter определено свойство ColWidthsOptimizationMaxWaitingTime. В это свойство можно прописать максимальное время, которое будет использоваться при вычислении ширины столба, когда пользователь два раза кликает линию разделяющую колонки. Если во время подсчета установленное время превышается то для оставшихся записей в DataSet'е ширина не вычисляется. По умолчанию используется значение 2000 (2 сек). 
+ В заголовках колонок грида TColumnTitleEh появилось новой свойство ShowImageAndText.
Если ShowImageAndText = True и заголовок грида настроен на отображение картинок из TitleParams.Images, то текст заголовка колонки будет отображаться вместе с картинкой. Если ShowImageAndText = False, то будет отображаться только картинка без текста.
+ В классе глобального управления поведением гридов проекта - TDBGridEhCenter, добавились методы GetColCellParams GetTitleParams RowDetailPanelShow RowDetailPanelHide. Это виртуальные методы, которые вы можете переопределить в своем порожденном классе TMyDBGridEhCenter и управлять реакцией на соответствующие события для всех гридов проекта.
 
(DBVertGridsEh.pas)
 
+ Новое свойство OptionsEh тип TDBVHGridOptionsEh.
Тип TDBVHGridOptionsEh содержит следующие значения:
dgvhHighlightFocusEh - Подсвечивать текущую ячейку когда грид имеет фокус ввода.
dgvhClearSelectionEh - Очищать выделение при выделении другой текущей ячейки мышкой или с клавиатуры.
dgvhEnterToNextRowEh - Переходит на следующую строку в гриде при нажатии на клавишу Enter.
dgvhTabToNextRowEh - Переходит на следующую строку в гриде при нажатии на клавишу Tab.
dgvhRowsIsTabControlsEh - Работать со строка грида как с набором Edit контролов не связанных с горизонтальной навигацией по DataSet'у. Т.е.:
 
- Не разрешать переходить на другую запись с клавиатуры.
- Когда в гриде текущая ячейка находится на последней строке, то по клавише Tab грид переведет фокус ввода на следующий TabStop Control на Форме (dgvhTabToNextRowEh property must be included)
- Когда в гриде текущая ячейка находится на первой строке, то по клавише Alt+Tab грид переведет фокус ввода на предыдущий TabStop Control на Форме (dgvhTabToNextRowEh property must be included)
 
 
+ В компоненте TDBVertGridEh появилась возможность выделять строки и прямоугольные области ячеек с поддержкой ClipBoard операций.
+ Новое свойство AllowedSelections: TDBVertGridAllowedSelectionsEh задает разрешенные виды выделение в гриде.
vgstRowsEh - Разрешать выделять строки в гриде мышкой или с клавиатуры.
vgstRectangleEh - Разрешать выделять квадратные области в гриде мышкой или с клавиатуры.
vgstAllEh - Разрешать выделять все данные в гриде по комбинации Ctrl+A.
 
+ Новое свойство EditActions типа TGridEditActionsEh - определяет разрешенные операции с выделенной областью. geaCutEh, geaCopyEh, geaPasteEh, geaDeleteEh, geaSelectAllEh.
+ Новое свойство Selection: TDBVertGridSelectionEh. Свойство содержит информацию о выбранной области грида.
+ Добавлены события TDBVertGridEh.OnRowCategoriesNodeExpanded TDBVertGridEh.OnRowCategoriesNodeCollapsed.
 
(DataDriverEh.pas)
 
* Изменение: 
Изменены параметры published события TConnectionProviderEh.OnGetServerSpecOperations: TResolverGetServerSpecOperationsEh
Old declaration: TResolverGetServerSpecOperationsEh = function (var Processed: Boolean): TServerSpecOperationsEh of object;
New declaration: TResolverGetServerSpecOperationsEh = procedure (var Processed: Boolean; var ServerSpecOperations: TServerSpecOperationsEh) of object;
Объявление через function вызывало необъяснимую ошибку компиляции проектов под C++ Builder.
 
(DBCtrlsEh.pas)
 
+ В TDBEditEh, TDBDateTimeEditEh, TDBComboBoxEh добавлены события OnCloseDropDownForm OnOpenDropDownForm.
 
 

27 июля 2013

EhLib 6.2 доступна для загрукзи

+ Технология DropDownForms - пользовательские выпадающие окна.

Типичное DropDown окно - это список, который появляется в контроле TComboBox при нажатии на кнопку со стрелкой вниз внутри контрола.
Новая технология DropDropForms позволяет создавать формы, которые отображаются и работают аналогично выпадающему списку TComboBox. Эти формы можно выводить по нажатию на одну из кнопок редакторов внутри контролов TDBEditEh, TDBNumberEditEh, TInplaceEditor в DBGridEh и т.д.

Детальное описание работы с DropDownForms смотрите в файле <About EhLib 6.2 Rus.doc>, раздел DropDownForms и в примере:

<EhLib Archive>\Demos\DropDownForm\Project1.dpr

скомпилированный проект:

<EhLib Archive>\Demos\Bin\DropDownForm.Exe

Новые свойcтва для настройки отображения выпадающих форм появились в классах:
(Для DBGridEh)

TColumnEh.DropDownFormParam
TColumnEh.EditButtons[i].DropDownFormParam

(Для DBVertGridEh)

TFieldRowEh.DropDownFormParam
TFieldRowEh.EditButtons[i].DropDownFormParam

TDBEditEh.EditButton.DropDownFormParam
TDBEditEh.EditButtons[i].DropDownFormParam

 

В EditButtons для контролов TDBNumberEditEh, TDBDateTimeEditEh, TDBComboBoxEh, TDBLookupComboBoxEh.

 

(В DBVertGridEh)

+ Появилась возможность группировки строк по категориям. См. свойства TDBVertGridEh.RowCategories

Имя категории прописывается в свойстве TFieldRowEh.CategoryName
Строки можно группировать по: Названию категории, Типу поля или, Наличию/Отсутствию значения в поле текущей записи.

+ Появилась возможность сортировки строк по Заголовку поля. См. свойство TDBVertGridEh.RowsSortOrder.

 

(В DBGridEh)

+ В DBGridEh в Design-Time появилась возможность быстро создавать компоненты и присваивать свойства DataSource и DataSource.DataSet. Кликните правой кнопкой мышки над Design-Time панелью в нижнем правом углу грида и выберите необходимую операцию присваивания или создания компонента работы с табличными данными.

 

(В TIniPropStorageManEh)

* В методе TIniPropStorageManEh.WritePropertiesText изменен класс, используемый для записи данных в файл. Вместо TIniFile теперь используется TMemIniFile. Это значительно ускорило операцию записи в файл, но изменилось место сохранения файла, когда в свойстве IniFileName не указан полный путь. В новой версии файл будет сохраняться в текущую директорию вместо директории WINDOWS.

17 февраля 2013

EhLib 6.1 доступна для загрукзи

+ Новый компонент TDBVertGridEh - Вертикальный грид.

Компонент предназначен для отображения и редактирования одной записи DataSet'а в вертикальной ориентации.
Основные свойства компонента TDBVertGridEh:

  Rows: TDBVerGridRows - Коллекция элементов типа TFieldRowEh для отображения полей записи. Аналог коллекции Columns в TDBGridEh.
  Options: TDBVHGridOptions - Настройка основных свойств вертикального грида.
  RowsDefValues: TFieldRowDefValuesEh - значения по умолчанию для строки грида TFieldRowEh. Аналог ColumnDefValues в TDBGridEh.
  GridLineParams: TDBVertGridLineParamsEh - Настройки цветов разделительных линий в вертикальном гриде.
  DataColParams: TDBVertGridDataColParamsEh - Настройка параметров колонки отображения данных.
  LabelColParams: TDBVertGridLabelColParamEh - Настройка параметров колонки отображения заголовков строк данных.

* Некоторые константы и процедуры были перенесены из модуля DBGridEh в модуль DBAxisGridsEh.

+ Добавлена новая глобальная функция для отображения формы вида ObjectInspector.

В DBGridEh

+ Добавлена возможность изменения размера RowDetailPanel'и мышкой в RunTime.
Новые свойства в RowDetailPanel:
  VertSizing: Boolean - Выводить внизу RowDetailPanel Splitter и разрешать менять размер.
  MinHeight: Integer - Минимальная высота RowDetailPanel'и
  MaxHeight: Integer - Максимальная высота RowDetailPanel'и
  SizingBarBeveled: Boolean - Splitter область имеет 3D границу.
  SizingBarHeight: Integer - Высота Splitter области.

+ Добавлена возможность "затемнения" грида на время загрузки данных.
См. методы TDBGridEh1: StartLoadingStatus и FinishLoadingStatus.

1 октября 2012

EhLib 6.0 is available for download

+ Added new components to service the access through the technology DataDrivers.
ConnectionProviders:

TADOConnectionProviderEh - this component provides interaction between the TADODataDriver and TADOConnection in Design-Time and Run-Time. It contains a built-in TADOConnection component. It specifies the type of the SQL server for the correct operation of the extra operations on the server, such as the value of the incremental the table fields after inserting records, etc.

Similar functions are performed by next components:

TDBXConnectionProviderEh to services the access through the DBX Engine.
TIBXConnectionProviderEh to services the access through the IBX Engine.
TBDEConnectionProviderEh to services the access through the BDE Engine.

+ Dynamic properties of the EhLib components - DynProps.
A collection of elements that implement the dynamic properties of the components and class libraries. Every control of EhLib have DynProps collection.

In the DBGridEh component:

+ Added new sort marking images and the sort order now depends of the type of the field.
+ Added ability to customize colors of dividing lines and to define presence/absence of lines in different areas of the grid.
+ Added opportunity of flexible customizing of drawing the grid headers.
+ Added opportunity of flexible customizing of rendering the footer.
+ Added opportunity of flexible customizing of the drawing area SubtitleFilter.
+ Added the ability to display the image data in the cells from the Bolb fields in the various graphic formats.
+ Added the ability to display a graphical background Image.
+ Added ability of the advanced search and filtering of data.
+ Added an extra panel in the horizontal scroll bar.
+ Added opportunity of flexible adjustment of the group title (DataGrouping).
+ Added ability to display summing rows in groups.
+ Added opportunity of flexible adjustment for the HideDuplicates values.
+ Added a new option in display elements of the tree structure.
+ Added the ability to filter data in the drop-down lookup lists when typing text.

In the component MemTableEh

+ Added an ability to change the internal structure of the array without data loss.
+ Added an ability to save/load data from/to a file (s).

- Closed support for Delphi and C++ Builder versions lower than 7.
+ Added support of Embarcadero RAD Studio XE3.

15 февраля 2012

EhLib 5.6 is available for download

* Fixed handling of the global variable OldStyleFlatBorder. In previous versions, if OldStyleFlatBorder = False (default value is False), then if TDBEditEh.Flat = True then drawing boundaries of TDBEditEh in Flat style never worked. In this version, if OldStyleFlatBorder = False then drawing boundaries of TDBEditEh in Flat style will work when the Windwos is in the Classic style and drawing Flat border will not work when the Windwos is in Themed environments and application use Themes.

+ Added a Images property in the class TEditButtonEh (TDBEditEh.EditButtons[i].Images) of a TEditButtonImagesE type.

TEditButtonImagesEh = class(TPersistent)
published property NormalImages: TCustomImageList;
property HotImages: TCustomImageList;
property PressedImages: TCustomImageList;
property DisabledImages: TCustomImageList;
property NormalIndex: Integer;
property HotIndex: Integer;
property PressedIndex: Integer;
property DisabledIndex: Integer;
end;

Now it is allowed to draw Images from ImageList in EditButtons of Edit controls and columns of TDBGridEh. Images are drawn when TEditButtonEh.Style = ebsGlyphEh and TDBEditEh.EditButtons[i].Images.NormalImages is assigned.

+ Added EmptyDataInfo property in DBGridEh. If this property is enabled and DataSet is Active and it contains no data, then DBGridEh draws <No data> text in the center of the client area. You can specify the inscription for each DBGrid or set a global variable DBGridEhEmptyDataInfoText that is located in the module DBGridEh.

+ Added EmptyDataInfo property in the TDBEditEh, TDBNumberEditEh, TDBComboBoxEh, TDBLookupComboBoxEh. Use TDBEditEh.EmptyDataInfo.Text property to display the text that will be displayed in the Edit control when it contains no data.

+ Added standart property Touch (supported in Delphi 2010 and higher) for DBGridEh, TDBEditEh, TDBNumberEditEh, TDBComboBoxEh, TDBLookupComboBoxEh, TDBDateTimeEditEh.

+ Added the ability in design-time to open the Edit buttons collection editor (EditButtons) in TDBEditEh, TDBNumberEditEh, TDBComboBoxEh, TDBLookupComboBoxEh, TDBDateTimeEditEh controls. A menu item to open the collection is in the context menu of the component that opens on the right mouse button.

+ In TDBCheckBoxEh added the ability to set Empty value ('') for properties ValueChecked, ValueUnchecked. This allows you to set the state of CheckBox for Null value of DB field.

+ In DBGridEh added OnDataGroupGetRowParams event. The event is used to customize information for group records (when Grid works in data grouping mode - Grid.DataGrouping.Active = True). In the event you can specify color, font, text and pictures for the group row.

+ In the module DBGridEhImpExp added a global procedure - ExportDBGridEhToOleExcel. The procedure is designed to export data from DBGridEh to MS Excel. The procedure uses OLE to export data which means the MS Excel must be installed on the computer to allow this procedure work.

+ At design-time a context menu of TDBGridEh component displays information about the version of the library. + Added global procedure - DrawProgressBarEh. The procedure allows you to draw a picture in the form of a progress bar (ProgressBar). It can be used to display progress bar in grid cells. See example of use in the DEMOS\DEMO1 project.

23 октября 2011

EhLib 5.5 is available for download

+ Added support of Embarcadero RAD Studio XE2.

+ ThemeTitleFillElement property add to the TDBGridEhStyle class. property ThemeTitleFillElement: TGridThemeTitleFillElementEh; TGridThemeTitleFillElementEh = (gtfeHeaderItemEh, gtfeSplitButtonEh); This property defines Themes element that will be used to fill the background
the grid titles when property TDBGridEh.Flat = False.

* TDBGridEh.Flat property has no effect of filling of then title background under RAD Studio XE2 when TStyleManager.IsCustomStyleActive is True. In this case the grid fills titles using Themes style that is defined by DBGridEhDefaultStyle.ThemeTitleFillElement property.

* The filling of the grid titles uses thHeaderItem Theme style rather then ttbSplitButton style from version EhLib 5.5. Set global property DBGridEhDefaultStyle.ThemeTitleFillElement to gtfeSplitButtonEh for filling the title in the old style.

20 мая 2011

EhLib 5.4 is available for download

+ In DBGridEh. Checkboxes can be shown in the indicator column. Checkboxes is used to select records in the Grid.

+ In DBGridEh. IndicatorOptions property of TDBGridEhIndicatorOptions type was added.

gioShowRowIndicatorEh - have same meaning as dgIndicator in Options.
gioShowRecNoEh - have same meaning as dghShowRecNo in OptionsEh.
gioShowRowselCheckboxesEh - show checkboxes in the indocator column.

+ In MemTableEh. The principle of storing data for Calculated and Lookup fields was changed. Now values of these fields are stored in a special buffer for each record, and they are not recalculated each time when the data in the grid is repainted or scrolled. It allows to increase speed of showing data of Lookup and Calculated fields in the DBGridEh.

* Changes in the MemTableEh. If the MemTableEh is connected to DataDriver and fields are created in Design-Time (as Persistent Field Components),
then the MemTableEh creates internal structure of records taking description from Persistent Fields rather than taking structure from the DataDriver.

20 октября 2010

EhLib 5.3 is available for download

+ Added support of Embarcadero RAD Studio XE

+ Added Options property in MemTableEh of TMemTableOptionsEh type.
TMemTableOptionsEh = set of TMemTableOptionEh;
TMemTableOptionEh = (mtoTextFieldsCaseInsensitive);
mtoTextFieldsCaseInsensitive - Defines whether string fields should be compared in a case-sensitive or case-insensitive manner when data is sorting and filtering.

+ Added printing of grouped data in TPrintDBGridEh when Grid.DataGrouping is active. Use TPrintDBGridEh component to print and preview data.

+ Added CommandTimeout property in TADOCommandEh component.

29 марта 2010

EhLib 5.2 is available for download

+ Added feature to group data in the DBGridEh using columns as a criterion of grouping.

4 января 2010

EhLib 5.1 is available for download

* The type of RowPanel property was changed. Instead of Boolean type, now it is an object property with subproperies:
Active: Boolean - Defines if it is possible to place cells under each over and if every propetry can have personal hight.
+ NavKeysNavigationType: defines the order of navigation over cells in the grid when keys Up, Down, Left, Right are pressed.
+ TabNavigationType: defines an order of going through cells of the grid by Tab key

+ A program for automatically installing library in Delphi/C++ Builder IDE is added. In time of installation the program creates folder, copies files, compile required packages and register packages in the IDE.

+ crpRowPanelColPlacementEh value is added in TColumnEhRestoreParam type, grpRowPanelColPlacementEh values is added in TDBGridEhRestoreParam type. Now, procedure RestoreGridLayout can restore cell positions then RowPanel is active.

+ Propery RowDetailPanelControl is added in public section. Use this property to add components on panel of detail information at RunTime. Use next code:
MyControl.Parent := DBGridEh1.RowDetailPanelControl;

+ Next subproperties are added in propery Grid.STFilter:
InstantApply: Boolean - defines if filter will be applied on chanching or clising of droped down list of filtered values (STFilter).
Location: TSTFilterLocationEh - defines the location STFilter. Under the title (stflUnderTitleFilterEh) or in the title
(stflInTitleFilterEh). When in the title then STFilter doesn't support edit line to enter filter expression.

+ The interface of droped down list of SubTitleFilter was changed. Now it is allowed to select requaried values in the list unsing checkboxes. The Item (Custom...) was added in the list of commands of filter droped down list. When selected, the simple filter dialog appeares to enter filter expression.

+ When the list of items for droped down filter list is formed, the current filter takes in account (Only when grid is conneccted to TMemTableEh).

+ New event added in Grid (TDBGridEh.OnFillSTFilterListValues), in the grid column (TColumnEh.OnFillSTFilterListValues) and in the TDBGridEhCenter (TDBGridEhCenter.OnFillSTFilterListValues). You can use event to fill list of droped down list of STFilter cell.

5 октября 2009

EhLib 5.0 is available for download

+ At design-time grid can show such components as DataSource, DataSet, DataDriver in its the bottom left part. These components can be selected in object inspector by mouse clicking. It allows to find quickly and select components which is connected to the grid.

+ New mode - RowPanel. In this mode, cells of grid can be placed under each other and can have individual height.

+ Grid can have special panel of detailed information for record. It is allowed to put any control from component palette on this panel. At run time, panel is hidden and user can open it by pressing on a '+' sign which is shown at the
begining of every row.

+ Grid can scroll data smoothly and by small steps of one pixel size. Grid can scroll data smoothly vertically and horizontally.

+ Hot track. Grid can highlight a cell or a row under mouse cursor.

+ Grid can show vertical line in gradient mode between data rows and bottom part of the grid.

+ In mode Column.AlwaysShowEditButton grid shows EditButtons in shadow mode. It doesn't irritate eyes by big amount of edit buttons in the grid.

+ New property EditButtonsShowOptions is added in the Grid of type TEditButtonsShowOptionsEh.
TEditButtonsShowOptionsEh = set of (sebShowOnlyForCurCellEh, sebShowOnlyForCurRowEh, sebShowOnlyWhenGridActiveEh, sebShowOnlyWhenDataEditingEh);
When Column.AlwaysShowEditButton is True, this property allows to customize, in which cases it is need to show EditButtons.

See screenshorts to view this features visually.

11 сентября 2009

EhLib 4.51 is available for download

+ Added support of Embarcadero RAD Studio 2010

7 июля 2009

EhLib 4.5 is available for download

+ Added TextEditing property in the TColumnEh object. Use this property to ban showing text editor in the data column cell.

+ Added OnHintShowPause event in the TColumnEh object and TDBGridEh . Write this event to set duration pause before showing hint.

+ In TColumnEh object and TDBGridEh is added OnDataHintShow event. Write this event to set text, font, color, position and other parameters of hint window for every data cell in the the grid column. This event is call only if Grid.ShowHint is True.

+ In TColumnEh object and TDBGridEh added OnAdvDrawDataCell event. Write this event to draw data in the data cell of column. This event calls always regardless of Grid.DefaultDrawing property. Set Processed to true to define that you processed drawing in the event code. Otherwise grid will call default method for drawing. You can, if need, change parameters ARect and Params and call Grid.DefaultDrawColumnDataCell or you can leave Processed in False and don't call Grid.DefaultDrawColumnDataCell. In last case OnAdvDrawDataCell will work like OnGetCellParams event.

+ In TColCellParamsEh class added properties:

BlankCell: Boolean. Set this property to force show cell as a blank 3D cell.
SuppressActiveCellColor: Boolean. Set this property to suppress color of the active cell by the color that you set in the Background property.
TextEditing: Boolean. Set this property to ban showing text editor in the data cell.
TColCellParamsEh class is used in such events as OnGetCellParams and OnAdvDrawDataCell.

TColCellParamsEh class is used as a type of Params parameter in such events as OnGetCellParams and OnAdvDrawDataCell.

* Some bugfixes.

18 марта 2009

EhLib 4.4 is available for download

+ Added possibility to move the columns in the grid at Design-Time.

+ Added possibility to select the column in the Object Inspector by clicking on header of column.

+ Added DrawGraphicData property of Boolean type. When property is True, the grid draws image from TBlobField with BlobType = ftGraphic in graphic mode.

+ Added OnGetRowHeight event. Write this event to set height of every data row in the grid. The Event is caused when data is changed in DataSet. The Event is caused only when the grid is connected to TMemTableEh and MemTable
not in the TreeView mode.

+ Added dghAutoFitRowHeight in TDBGridEhOption type (OptionsEh). In this mode the grid calculates height of lines dynamically using text in data cells for a columns that TColumnEh.WordWrap = True. This mode works only when
grid is connected to TMemTableEh and MemTable not in mode TreeView. Grid updates the height of the lines not in all cases. For instance, grid does not update the height of the lines when you change Grid.Font property. In this case you need to call Grid.UpdateAllDataRowHeights where it is necessary.

+ In the mode when dgRowSelect is in Options, scrollbar works in smooth mode. (The Step of runner is not limited by the ñolumn width).

+ Added dghColumnMove and dghColumnResize in TDBGridEhOption type (OptionsEh). Now you can control of resizing and moving of columns separately.

+ Added dghShowRecNo in TDBGridEhOption type (OptionsEh). Set this value to show record number in the indicator column. It works only for DataSet which IsSequenced = True.

+ Drawing of 3D title cells in Flat mode is changed. When ThemeServices.ThemesEnabled = True, grid draws 3D cells in gradient style.

* Some bugfixes.

8 декабря 2008

EhLib 4.3 is available for download

+ Added support of CodeGear RAD Studio 2009.

24 июня 2007

EhLib 4.2 is available for download

+ Added support of Delphi 2007.

In DBGridEh
+ Added IndicatorTitle property of TDBGridEhIndicatorTitle type:
The Upper left cell can react as button, draw the badge-triangle, and display the dropdown menu on mouse clickling ( with possibility of drawing global menu, which adjust using global property - DBGridEhCenter.IndicatorTitleMenus and IndicatorTitleMenus.OnBuildIndicatorTitleMenu).

IndicatorTitle property has a next subprotperty:
DropdownMenu: TPopupMenu - The Local dropdown menu, appearing when you press the upper left cell of the grid.
ShowDropDownSign: Boolean - Specifies whether to draw the badge-triangle. You can set this property to show that the pressing on upper-left cell will show the droped down menu.
TitleButton: Boolean - Specifies whether the upper left cell will act as button. Besides the DropdownMenu will be droped down only when TitleButton = True.
UseGlobalMenu: Boolean - Specifies whether the global DBGridEhCenter.IndicatorTitleMenus property will be use when building menu.

Added OnIndicatorTitleMouseDown event. Occurs when the mouse click on the upper left cell of grid. The Cell must be adjusted in state of working as buttons (IndicatorTitle.TitleButton = True). You can call DefaultIndicatorTitleMouseDown
method in this event to pass control to a global object - DBGridEhCenter.

Added OnBuildIndicatorTitleMenu event. Occurs when need to build list of menus before menu is shown. You can call DefaultBuildIndicatorTitleMenu method in this event to pass control to a global object - DBGridEhCenter.

Added OnCellMouseClick event. Occurs when mouse click in any cell of grid.
Event pass coordinates of the cell and offset of the mouse for upper left corner of the cell. You can call DefaultCellMouseClick method in this event to pass control to a global object - DBGridEhCenter.

+ In module DBGridEh.Pas appeared the new global object DBGridEhCenter of TDBGridEhCenter type. This object is intended to manage a behaviour of all objects of TCustomGridEh type or inherited from it. For instance, in DBGridEhCenter you can specify the list a menu to be appearing in the drop-down menu of the all grids when clicking on top left grid cell. Besides, you may write the event of this global object and it will be caused at activations of the similar event in any grid of the project.

Global object - DBGridEhCenter has a following properties and events:
IndicatorTitleMenus: Is the list of menu, which will be formed when clicking on upper left cell of grid is occured. This property of the global object will work for all grids, which IndicatorTitle.TitleButton = True. (itmVisibleColumnsEh, itmCut, itmCopy, itmPaste, itmDelete, itmSelectAll).
OnBuildIndicatorTitleMenu: Occurs when need to build list of menus before menu is shown.
OnCellMouseClick: Occurs when mouse click in any cell of grid.
OnIndicatorTitleMouseDown: Occurs when mouse click upper left cell of grid.

+ Added global variable - DBGridEhCenter. This variable controls the part of behaviour of the grids. You can set properties, or events of this variable to change the behaviour of all grids.

Changes in the other objects and procedures.
* The Corrections in ADODataDriverEh, SelectCommand, UpdateCommand... properties now have a TADOCommandEh type.
* The parameters of OnAssignCommandParameter and OnGetBackUpdatedValues have been changed in ADODataDriverEh object.
* All dfm files stores data in the text type.
* Fixed drawing lines in the gride when TColumnEh.HideDuplicated = True.
* Fixed memory leaks in the search box TDBGridEhFindDlg.
* Fixed error in the search dialogue, when invisible columns is present.
* Added support ftWideMemo.
* Fixed error of the recirculation in TPrintDBGridEh component when printing the rows with height above of the page height.
* Fixed error when developer create new TDataDriver component on Form using Popup menu 'Create DataDriver...' of TMemTableEh components.
+ In TDBLookupComboboxEh, Added support of the Memo fields.
* Fixed error of entering values from previous record (using Ctrl+') when DBGridEh is connected to TMemTableEh.

14 января 2006

EhLib 4.1 is available for download

+ Added support of Borland Developer Studio 2006 (Delphi and C++ Builder).

* Fixed a error of the grid twinkling in the tree mode on opening a node.
* Fixed a error of filling a list of values in the filter when PickList and KeyList properties for the TColumnEh is filled.
* Some other bugfixes.

18 сентября 2005

EhLib 4.0 is available for download

* 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 of EhLib archive.

+ Added Action property or TBasicAction type in TEditButtonEh. So edit buttons
of the Edit controls can be associated with action.

+ In DBGridEh
When DBGridEh is connected to DataSet of TMemTable type it allows:
To view all data without moving active record.
To display a tree-type structure of TMemTable records.
To form list of values in dropdown list of SubTitle filter automatically.

3 февраля 2005

EhLib 3.6 is available for download

+ 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.

27 сентября 2004

EhLib 3.5 is available for download

+ 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).

In TColumnEh
+ 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.

24 мая 2004

EhLib 3.4 is available for download

EhLib team became the Borland Technology Partner.

+ 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.

10 февраля 2004

EhLib 3.3 is available for download

EhLib setup files for Evaluation version available for download in 'Downloads' area. Setup automatically deinstall previous version of EhLib packages from Delphi (BCB) IDE, install new version of packages and help files in IDE.

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 to 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.

6 октября 2003

EhLib 3.2 is available for download

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 subproperties
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.

22 июня 2003

Deployed EhLib 3.1

EhLib home page is moved. Now, home page of ehlib is http://www.ehlib.com.

EhLib suppor e-mail is opened. support@ehlib.com

EhLib forum is opened - http://groups.yahoo.com/group/EhLib

Deployed EhLib 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.

5 марта 2003

EhLib 3.0 is available for download

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.

16 декабря 2002

EhLib 2.6 is available for download

+ 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.

+ Added (in source included version only) preview version of technology to store components properties to/from settings storage such as ini files, registry etc.

24 ноября 2002

Freeware library - DBClique is uploaded.

See detail information at Detail information about DBClique Library

15 сентября 2002

EhLib 2.5 is available for download

+ 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 you 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.

22 июля 2002

Freeware component - TBDEClientQueryEh is uploaded.

See detail information at Detail information about TBDEClientQueryEh component

3 июля 2002

EhLib 2.4 is available for download

+ 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.

29 апреля 2002

EhLib 2.3 is available for download

+ Added C++ Builder 6 support.

In TDBDateTimeEditEh and TDBComboBoxEh
+ Added OnCloseUp and OnDropDown events.

In TDBGridEhScrollBar class (DBGridEh.VertScrollBar, HorzScrollBar)
+ Added property ExtScrollBar: TScrollBar.
Now you can attach external scrollbars to the grid. DBGridEh.VertScrollBar can be show in three mode:
Always show, Never show, Auto show.
Use property DBGridEh.VertScrollBar.VisibleMode.

INCOMPATIBILITY: To be more look like DBGrid component the DBGridEh component select row (multiselect) on first mouse click when Options have dgMultiSelect value and AllowedSelections have not gstRectangle value.

11 марта 2002

EhLib 2.2 is available for download

In TDBEditEh
+ Added properties WantTabs and WantReturns.

INCOMPATIBILITY: In TColumnEh all published properties moved to public section. New TDBGridColumnEh object added that inherited from TColumnEh and have properties in published section. TDBGridEh uses TDBGridColumnEh to create columns. You can have incompatibility if you inherit TColumnEh object. Use TDBGridColumnEh object now.

+ Dropdown box in TDBLookupComboBoxEh and TColumnEh for look fields now inherited from TCustomDBGridEh. Now dropdown box can have MultiTitle, can fit columns width to window width, can have column lines and row lines, allows to change column widths, can have sortmarkers in titles, have event that calls when user press title, allows to change characteristics of individual column.

RESTRICTION: In EhLIb compiled under Delphi 4 or CBuilder 4 dropdown box can not resize or move columns or click the titles.

+ Added new unit - DBLookupGrid.Pas, contains TPopupDataGridEh component that uses as Dropdown box in TDBLookupComboBoxEh and TColumnEh for look fields.

In TColumnEh
+ Added property DropDownBox of TColumnDropDownBoxEh type
TColumnDropDownBoxEh = class(TPersistent)
property AutoFitColWidths: Boolean;
property ColumnDefValues: TColumnDefValuesEh;
property Columns: TDBGridColumnsEh;
property Options: TDBLookupGridEhOptions;
property UseMultiTitle: Boolean;
end;
using properties of DropDownBox property you can control dropdown box for inplace editor of columns that connected to lookup fields.

In TDBLookupComboboxEh
+ Added
property AutoFitColWidths: Boolean;
property ColumnDefValues: TColumnDefValuesEh;
property Columns: TDBGridColumnsEh;
property Options: TDBLookupGridEhOptions;
property UseMultiTitle: Boolean;
in TLookupComboboxDropDownBoxEh object (TDBLookupComboboxEh.DropDownBox property)

In TColumnEh and TDBLookupComboboxEh
+ Added events
OnDropDownBoxCheckButton - Occurs to define is there title can be pressed.
OnDropDownBoxDrawColumnCell - Occurs when the dropdown box needs to paint a cell.
OnDropDownBoxGetCellParams - Occurs when the dropdown box needs to paint a cell.
OnDropDownBoxSortMarkingChanged - Occurs after changing sortmarker.
OnDropDownBoxTitleBtnClick - Occurs after clicking on title button.

9 ноября 2001

EhLib 2.1 is available for download

Added new file EhLibConsts.Pas - contains resource of strings.

Added partially support of BiDirection.
Added partially support of the Double-Byte Character Set.

In TDBGridEh
+ Added property FieldColumns;
property FieldColumns[const FieldName: String]: TColumnEh; default;
So you can use next syntax to access column by filed name: DBGridEh1['FieldName']

In TDBEditEh, TDBDateTimeEditEh, TDBComboBoxEh, TDBNumberEditEh and TColumnEh added property
+ EditButtons of TEditButtonsEh type.
Class TEditButtonsEh is a collection of TEditButton classes.
So the edit controls and columns can have several edit buttons.

In TDropDownBoxEh added property
+ SpecRow of TSpecRowEh type.
In TColumnEh added property
+ DropDownSpecRow of TSpecRowEh type.
TSpecRowEh = class(TPersistent)
property CellsText: String;
property Color: TColor;
property Font: TFont;
property Value: Variant;
property Visible: Boolean;
property ShortCut: TShortCut
property ShowIfNotInKeyList: Boolean;
end;
TSpecRowEh represent the special row in dropDown box for lookup fields in column of DBGridEh and in TDropDownBoxEh class of TDBLookupComboboxEh component. This row will be active when lookup field or lookupcombobox have value equals specrow value or when value not in list of key value.

* In the OnButtonClick event for TDBComboBoxEh, TDBLookupComboboxEh, TDBDateTimeEditEh the Sender parameter is TEditButtonControlEh object. Use TEditButtonControlEh(Sender).Parent syntax to access the edit control whose button have been clicked.

8 августа 2001

EhLib 2.0 is available for download

EhLib 2.0 does not support Delphi 3 and C++ Builder 3.

In TDBGridEh
+ For columns that attached to lookup Fields it support possibility of changing values if TField.KeyFields and TField.LookupKeyFields is kept a list of several names of fields (list is separated by semicolon).

+ In TDBGridEhOption type (OptionsEh propery) dghRowHighlight value is added - it allows to highlight current record.

+ Added crpDropDownRowsEh and crpDropDownWidthEh values in TColumnEhRestoreParam type, it allows to save and restore DropDownRows and DropDownWidth properties of TColumnEh in/from the registry or ini file.

+ Added property AllowedSelections: TDBGridEhAllowedSelections;
TDBGridEhAllowedSelections = set of (gstRecordBookmarks, gstRectangle, gstColumns, gstAll);
Defines what types of selection is available in grid. dgMultiSelect value in Options property also affects available of selection.

+ Added property ColumnDefValues: TColumnDefValuesEh
TColumnDefValuesEh = class(TPersistent)
AlwaysShowEditButton: Boolean
EndEllipsis: Boolean
AutoDropDown: Boolean
DblClickNextVal: Boolean
ToolTips: Boolean
DropDownSizing: Boolean
DropDownShowTitles: Boolean
Title.Alignment: TAlignment
Title.Color: TColor
Title.TitleButton: Boolean
Title.EndEllipsis: Boolean
Title.ToolTips: Boolean
Title.Orientation: TTextOrientationEh
defines default values for newly created colonies.

In TColumEh
+ Added OnNotInList event. Operates when user enter a text not kept in the list of values. If this event is assigned then user is automatically allowed to enter a text not kept in the list. Event makes sense if row is based on lookup field or PickList is filled or PickList and KeyList is filled.

+ Added OnGetCellParams event:
TGetColCellParamsEventEh = procedure (Sender: TObject; EditMode: Boolean; Params: TColCellParamsEh) of object;
TColCellParamsEh = class
property Col:Longint;
property Row:Longint;
property State: TGridDrawState;
property Font: TFont read FFont;
property Background: TColo;
property Alignment: TAlignment;
property ImageIndex: Integer;
property Text: String read;
property CheckboxState: TCheckBoxState;
property ReadOnly: Boolean;
end;
Requests the parameters of cell before draw/editing.

+ Added OnUpdateData event: TColCellUpdateDataEventEh = procedure(Sender: TObject; var Text: String; var Value: Variant; var UseText: Boolean; var Processed: Boolean) of object;
Operates when writing data from InplaceEditor in DataSet field. You can change text or value, UseText defines what parameter is used for writing: Text or Value. You may themselves write data to the field and sets Processed in True.

+ Added OnEditButtonClick event: TButtonClickEventEh = procedure(Sender: TObject; var Handled: Boolean) of object;

+ Added OnEditButtonDown event: TButtonDownEventEh = procedure(Sender: TObject; TopButton: Boolean; var AutoRepeat: Boolean; var Handled: Boolean) of object;
TopButton - when style of the button ebsUpDownEh, defines that pressed upper button. AutoRepeat - repeat events if mouse is keeping pressed.

In TDBSumListProducer
* State Of working group operations goCount is changed. When in TDBSum installed by GroupOperation = goCount and FieldName <> '' that SumValue will contain an amount of records for which field <FieldName> is not Null.

In TDBLookupComboboxEh
* Component has changed an ancestor, so possible inconsistency of functioning with the preceding version.

+ Supports working with lookup fields that containing in TField.KeyFields and TField.LookupKeyFields properties the list of the several names of fields, in the same way possible enter a list of several names of fields in DataField and KeyField properties of combobox. List of field names must be separated by semicolon (For instance: 'CustNo;EmpNo').

+ Added OnButtonDown event: TButtonDownEventEh = procedure(Sender: TObject; TopButton: Boolean; var AutoRepeat: Boolean; var Handled: Boolean) of object;
TopButton - when style of the button ebsUpDownEh, defines that pressed upper button. AutoRepeat - repeat events if mouse is keeping pressed.

Added 4 new components:
TDBEditEh - to edit text values.
TDBDateTimeEditEh - to edit date or time values.
TDBComboBoxEh - to edit text values with capacity to select values from list.
TDBNumberEditEh - to edit numeric values.

Common features in all components:
Can works as in data-aware mode as in usual not data-aware mode. If DataField and DataSource properties is not assigned then component works in usual not data-aware mode.
Have Flat and AlwaysShowBorder properties to show in the flat mode.

Have Text (String type) and Value (Variant type) properties.
Moreover Value can accept Null value or:
String type for TDBEditEh and TDBComboBoxEh,
TDateTime, TDate, TTime, Double type for TDBDateTimeEditEh,
all numeric types for TDBNumberEditEh.

Have an OnUpdateData event that occurs before writing data in DataSet field or in internal variable when not data-aware mode. Event is call when component lose the focus or when DataSet send PostData event.

Individual features of components:
TDBEditEh, TDBComboBoxEh and TDBLookupComboboxEh have WordWrap propertiy to show and edit multiline text. Don't forget to hang up AutoSize propertiy if you want to change and fix a height of the control.

1 июля 2001

EhLib 1.7 is available for download

+ Added Delphi 6 support.

In TDBLookupComboboxEh
+ Added AlwaysShowBorder propery.

* Some bugfixes.

14 мая 2001

EhLib 1.61 is available for download

In TDBLookupComboboxEh:
+ Added OnNotInList event. Event occurs when the user enters a value that isn't in the lookup list.

In TDBSumListProducer
+ Added group operation goAvg to calculate average values.

In TPrintDBGridEh
+ Added OnBeforePrint and OnAfterPrint events to write specifyed action before or after grid have been printed/previewed.

In TDBGridEh
+ Added possibility to set aggregate fields in footers at design time. So you can use more powerful mechanism of aggregate values imbedded in TClientDataSet component.

* Some bugfixes.

12 марта 2001

EhLib 1.6 is available for download

Added new component TDBLookupComboboxEh:
Provides all functionality of TDBLookupCombobox and adds several new features as follows:
Can have flat style.
Allows assign values as to KeyValue property just and to display Text property.
Allows to type (assign) values to Text property not contained in data list (Style = csDropDownEh).
Allows to hold KeyValue and Text as not affecting to each other values. Take effect when KeyField, ListField, ListSource, DataField and DataSource properties is empty.
Drop down list can:
Show titles,
Have sizing grip,
Automaticaly set width as sum of DisplayWidth of the list fields (Width = -1),
Automaticaly drops on user pressed the key.
Edit button can:
Show DropDown, Ellipsis or Bitmap image.
Have specified width.
Have additional events: OnKeyValueChanched, OnButtonClick.

In TDBGridEh
+ In Flat mode shows edit buttons just as flat.

In TColumnEh
+ Added DropDownShowTitles property.

* Some bugfixes.

13 января 2001

EhLib 1.58 is available for download

In TDBGridEh
+ Added dghIncSearch and dghPreferIncSearch values in TDBGridEhOption type (property OptionsEh).
dghIncSearch value allows to do increment search in grid.
dghPreferIncSearch value determine that the grid prefer increment search to cell editing.
At run time you can use next key for increment searching:
Ctrl+F - to begin increment searching.
Ctrl+Enter - to search next matching.
Ctrl+Shift+Enter - to search prior matching.
If dghIncSearch in OptionsEh and column is read only then grid will set increment search mode automatically on first key press and will set normal mode after 1.5 sec.

In TColumnEh
+ Added Tag property. Tag has no predefined meaning. The Tag property is provided for the convenience of developers.
+ Added DropDownSizing property. Set DropDownSizing to True to allow users to resize dropdown lookup or picklist window.

* Some bugfixes.

16 ноября 2000

Oracle Cancelable Utils is available for download

Add-on for DOA (Direct Oracle Access)
Contains synchronous routines to open queries with possibility to cancel execution.
See detail information.

8 ноября 2000

EhLib 1.57 is available for download

TPassthroughColumn class has been unloaded. In csDefault and csCustomized state uses the same class TColumnEh. It allows to inherit TDBGridEh class and add new properties in TColumnEh class.

In TColumnEh
+ Allows to show tooltips text for KeyImage based columns. When you adjust column properies to show bitmaps depending on field values you can fill also PickList propery by values of tooltip text.Set also Tooltips property to True and ShowHint property of DGBGridEh to True. At runtime by moving mouse above image will forces to show text from PickList in tooltips window.

In TColumnTitleEh
+ Added property Orientation: TTextOrientationEh;
TTextOrientationEh = (tohHorizontal, tohVertical);
Allows to draw text vertically. Only single line text support for vertical orientation.

* Some bugfixes.

22 августа 2000

EhLib 1.56 is available for download

Added new unit "DBGridEhImpExp.pas" that containt objects and routines:
1. To export DBGridEh at next formats: Text, Csv, HTML, RTF, XLS and internal format for interchange between DBGridEh's (VCLDBIF).

procedure SaveDBGridEhToExportFile( ExportClass: TDBGridEhExportClass; DBGridEh: TCustomDBGridEh; const FileName: String; IsSaveAll: Boolean);
procedure WriteDBGridEhToExportStream( ExportClass: TDBGridEhExportClass; DBGridEh: TCustomDBGridEh; Stream: TStream; IsSaveAll: Boolean);

Where the ExportClass parameter is one of the next classes:
TDBGridEhExportAsText, TDBGridEhExportAsCsv, TDBGridEhExportAsHTML, TDBGridEhExportAsRTF, TDBGridEhExportAsVCLDBIF or TDBGridEhExportAsXLS.
IsSaveAll parameter indicates whether to export whole grid or only selection.

2. To import DBGridEh from Text and internal format (VCLDBIF).

procedure LoadDBGridEhFromImportFile( ImportClass: TDBGridEhImportClass; DBGridEh: TCustomDBGridEh; const FileName: String; IsLoadToAll: Boolean);
procedure ReadDBGridEhFromImportStream(ImportClass: TDBGridEhImportClass; DBGridEh: TCustomDBGridEh; Stream: TStream; IsLoadToAll: Boolean);

Where the ImportClass parameter is one of the next classes: TDBGridEhImportAsText, TDBGridEhImportAsVCLDBIF.

3. To Copy, Paste, Cut DBGridEh to/from clipboard.

procedure DBGridEh_DoCutAction(DBGridEh: TCustomDBGridEh; ForWholeGrid:Boolean);
procedure DBGridEh_DoCopyAction(DBGridEh: TCustomDBGridEh; ForWholeGrid:Boolean);
procedure DBGridEh_DoPasteAction(DBGridEh: TCustomDBGridEh; ForWholeGrid:Boolean);
procedure DBGridEh_DoDeleteAction(DBGridEh: TCustomDBGridEh; ForWholeGrid:Boolean);

In TDBGridEh
+ Added property EditActions: TDBGridEhEditActions.

TDBGridEhEditAction = (geaCutEh, geaCopyEh, geaPasteEh, geaDeleteEh, geaSelectAllEh);
TDBGridEhEditActions = set of TDBGridEhEditAction;

Specifies actions (inherited from TEditAction) that grid can update and execute.
+ Added some functions to support edit actions.

23 мая 2000

EhLib 1.55 is available for download

In TDBGridEh
+ Added dghTraceColSizing value in TDBGridEhOption type (property OptionsEh).
dghTraceColSizing: Determines whether the column size changes before mouse button is released.
dghTraceColSizing is not supported under Delphi 3.
+ Procedures SaveColumnsLayout, RestoreColumnsLayout, SaveGridLayout, RestoreGridLayout overloaded to support TCustomIniFile in addition to TRegIniFile.
+ Added OnColWidthsChanged event. Occurs immediately after the column widths change.
+ Added Flat property. Makes the grid 3D borders more thinner, makes the grid rows more narrow, makes the fixed line gray.

In TPrintDBGridEh
+ Added support of the macro "&[Pages]" in PageColontitles.
&[Pages] substitutes the count of pages.

3 апреля 2000

EhLib 1.54 is available for download

+ Added C++ Builder 5 support.

In TDBGridEh
+ Added dghEnterAsTab values in TDBGridEhOption type (property OptionsEh).
dghEnterAsTab: Enter key behaves as Tab key in the grid.

1 марта 2000

EhLib 1.53 is available for download

+ Added allows to set focus to and resize of the frozen columns.

In TDBGridEh
+ Added property FooterFont: TFont. Controls the attributes of the default footer font.
+ Added property FooterColor: TColor. Default background color of the footer.

In TColumnEh
+ Added property ToolTips: Boolean. Allows to show hint for text that don't fit in data cell.
+ Added property Footers: TColumnFootersEh. Allows to assign individual footer parameters for multiple footer rows.

In TColumnTitleEh
+ Added property ToolTips: Boolean. Allows to show hint if text don't fit in title cell.

In TPrintDBGridEh
+ Added pghFitingByColWidths, pghOptimalColWidths values in TPrintDBGridEhOption type.
pghFitingByColWidths: allows to fit grid to page width by changing column widths (not scaling whole image).
pghOptimalColWidths: change column widths to fit text in the cells.
+ Added BeforeGridText: TStrings property to print/preview the rich text before grid.
+ Added AfterGridText: TStrings property to print/preview the rich text after grid.
+ Added procedure SetSubstitutes to set substitutes for BeforeGridText and AfterGridText.

17 декабря 1999

EhLib 1.52 is available for download

In TPrintDBGridEh
+ Added possibility to Print/Preview of the selected area of TDBGridEh.
In TDBGridEh
+ Added property TitleImages to show bitmap in titles instead of caption.
+ Added property AllowedOperations: TDBGridEhAllowedOperations;
TDBGridEhAllowedOperation = (alopInsertEh, alopUpdateEh, alopDeleteEh, alopAppendEh)
to forbid/allow insert, append new records; delete, update records.
In TColumnEh
+ Added cbsDropDown value in ButtonStyle property.
In TColumnTitleEh
+ Added Hint property to show hint text above title for narrow columns.
+ Added ImageIndex property to show bitmap instead of caption text.

+ Mouse wheel support in TDBGridEh and TPreveiwBox

* Some bugfixes.

2 ноября 1999

EhLib 1.51 is available for download

In TDBGridEh
+ Added allows to create one title for several columns in frozen and nonfrozen zones simultaneously (in MultiTitle mode).
* In RowSelect mode change column widths don't move view to first column.
+ Added selecting a columns and rectangle areas
Added property Selection: TDBGridEhSelection;
TDBGridEhSelection contains next properties
SelectionType: TDBGridEhSelectionType;
TDBGridEhSelectionType = (gstNon, gstRecordBookmarks, gstRectangle, gstColumns, gstAll);
Columns: TDBGridEhSelectionCols;
Rect: TDBGridEhSelectionRect;
Rows: TBookmarkListEh;
see EhLib.hlp and DEMO1 for detail.
* Clicks on left top cell in grid sets SelectionType = gstAll, but not selects all records.
+ When DragMode = dmAutomatic and dgMultiSelect is included in Options the grid enters in Dragging mode only when user pressed mouse on multiselected data area (not includes title, indicator and footer areas).

This version don't support print and preview of the selected area yet.

* Some bugfixes.

7 сентября 1999

EhLib 1.5 is available for download

IMPORTANT FOR C++ BUILDER DEVELOPERS
ALL COMPLETIONS "EH" ARE REPLACED BY "Eh"

* Help file compiled under english localization settings
+ Added Delphi 5 support (Packages compiled under trial version of Delphi 5 (Build 4.32))
+ Added new component TPrintDBGridEh for printing and preview of TDBGridEh.
+ Added new component TPreviewBox for customizing preview form.
+ Added new object TPrinterPreview to direct printable stuff to the preview box.

In TDBGridEh
* Highlighted frozen cells in rowselect mode
* Allows press title buttons and move columns by left mouse button simultaneously.

In TColumnEh
+ Added cbsUpDown value in ButtonStyle property.
+ Added Increment property. Works when ButtonStyle = cbsUpDown.

* Some bugfixes.

4 июня 1999

EHLib 1.03 is available for download

What's new in version 1.03:
New help file that can be inserted in Delphi help system.
Included support Borland C++ Builder versions 3 & 4.

In TDBGridEH
+ Added dghAutoSortMarking, dghMultiSortMarking values in TDBGridEhOption type (property OptionsEh).
dghAutoSortMarking Automaticaly marking title by SortMarking images.
dghMultiSortMarking Allow sortmarking multiple columns. At runtime use Ctrl + Mouse combination for multisortmarking.
+ Added event OnSortMarkingChanged : TNotifyEvent;
+ Added procedure SaveGridLayout(ARegIni: TRegIniFile);
+ Added procedure RestoreGridLayout(ARegIni: TRegIniFile; RestoreParams:TDBGridEhRestoreParams);
+ Added procedure SaveGridLayoutIni(IniFileName: String; Section: String; DeleteSection: Boolean);
+ Added procedure RestoreGridLayoutIni(IniFileName: String; Section: String; RestoreParams:TDBGridEhRestoreParams);

In TColumnEH
+ Added property Checkboxes: Boolean. Determine need show checkboxes enstead of text. Checkboxes automativcaly true for boolean field. For non boolean fill first line of KeyList for checked checkboxes. Second line for nonchecked.

* Fixed some bugs.

20 апреля 1999

EHLib 1.02 is available for download

What's new in version 1.02.
In TDBGridEH
+ Added multyline editing.
+ Added edit of memo fields.
+ Added dghHighlightFocus, dghClearSelection, dghFitRowHeightToText values in TDBGridEhOption type (property OptionsEh).
dghHighlightFocus Highlight a focus cell
dghClearSelection Clear selected rows after selecting
dghFitRowHeightToText Fit row height to height of text lines
+ Added multiselect by the mouse.
+ Added trace a focus cell by the mouse.

* Fixed some bugs.

1 февраля 1999

EHLib 1.01 is available for download

What's new in version 1.01.

In TDBGridEH
+ Added HorzScrollBar and VertScrollBar properties to control the scrollbar in grid.
+ Added OptionsEh properties to specifies various display and behavioral properties of grid.
+ Added SaveColumnsLayoutIni and RestoreColumnsLayoutIni procedures to save and restore some grid parameters in/from ini file.
+ Added support to show drop down calendar for TDate and TDateTime fields.

In TColumnEH
+ Added DblClickNextVal property to set next value for some type of column on double mouse click.
+ Added KeyList property to show bitmaps from ImageList depending on field value and to show text from PickList.
+ Added ImageList property to show bitmaps depending of field value.
+ Added MaxWidth, MinWidth property to limit column width.
+ Added NotinKeyListIndex to show image for null field value.

In TDBSumList
+ Added support to work with no sequenced dataset as with sequenced.

* Fixed some bugs.