Блог Александра Божко
Архивы
Рубрики
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Несколько лет назад я искал менее дорогую альтернативу DevExpress’овскому гриду. Собственно, выражение «искал» здесь не вполне уместно. Уже давно в среде Delphi разработчиков известно, что едва ли не единственной альтернативой cxGrid по доступной цене является TDBGridEh. И хотя уже тогда этот грид имел некоторые уникальные «фишки» функционально он всё же уступал более маститому конкуренту. Впрочем, это воспринималось вполне спокойно, поскольку порядки цен были не сопоставимы.

Недавно я вновь столкнулся с подобной проблемой, мне нужен был «продвинутый» грид, совместимый с Delphi 10.1 Berlin. И я снова не стал даже использовать Google. Выбор был очевиден. Всё тот же EhLib Components Pack.

На этот раз актуальной версией оказалась девятая. Единственный технический вопрос, который меня интересовал на момент приобретения продукта – поддерживает ли этот грид родные стили. И тут же не удержусь от комплимента в отношении техподдержки. Практически сразу я получил ответы как на технические вопросы, так и на вопросы относительно возобновления лицензии.

Что же из себя представляет последняя версия продукта? Вероятно, воспринимать её в контексте DevExpress уже не уместно. Даже если вы бегло посмотрите на скриншоты, то поймёте, что GridEh реализует практически всё, что можно сделать в cxGrid.

Среди наиболее востребованных можно выделить следующее:

Панель поиска;

Search Panel GridEh

Фильтры по значениям полей;

Filters GridEh

Отображение данных в режиме дерева (тот функционал, который необходим лично мне для текущего проекта);

TreeGridEh

Футеры;

Footers GridEh

Режим группировки;

Group GridEh

Автосортировка

А кроме того, вложенные заголовки столбцов, экспорт и импорт данных, печать, индивидуальная высота строк, панели детализации, многочисленные визуальные эффекты. Перечисление всех возможностей GridEh – дело не благодарное. Их действительно много.

Более того, есть и то, что в не реализуется в других гридах. Например, та же поддержка родных стилей (что бы лишний раз не тревожить техподдержку, достаточно было внимательно полистать официальный сайт продукта).

Styles GridEh

А эффект плавного затухания вертикальных разделителей полей давно вызывает у меня восхищение.

Впрочем, EhLib это не только TDBGirdEh. Кроме него в состав библиотеки входит еще ряд визуальных компонентов для отображения данных. Это и условно говоря стандартные db-aware контролы с расширенным функционалом (т. н. редакторы индивидуальных значений), такие как TDBEditEh или TDBComboBoxEh, и «продвинутые» компоненты. Среди последних можно выделить компонент для сводного анализа данных TPivotGridEh; компонент предназначен для отображения и редактирования одной записи DataSet’а в вертикальной ориентации TDBVertGridEh; визуальный компонент-контейнер TPlannerControlEh.

PivotGridEh

TPlannerControlEh

Описанию каждого из них можно посвятить отдельный цикл статей, что, не исключено, я и сделаю в рамках данного блога.

Немного поработав с EhLib, подсознательно я уже начал задаваться вопросом, а умеет ли так DevExpress. И здесь я вновь повторю мысль о неуместности сравнения, поскольку, на мой взгляд, EhLib стал вполне самостоятельным продуктом со своим лицом.

Да, использование EhLib предполагает некоторые навыки. Впрочем, это справедливо для любого сложного продукта.

Ключевой особенностью EhLib, на мой взгляд, является чёткое разделение бизнес-логики и интерфейса. Так, реализация многих функций возложена на компонент TMemTableEh (внутренний набор данных). С одной стороны, это, возможно, несколько усложняет разработку, но с другой – придаёт гибкость.

Вынесенный в качестве отдельного компонента TDBSumList – ещё одна наглядная иллюстрация приведенного выше тезиса. Буквально недавно в чужом коде я столкнулся с весьма спорным архитектурным решением. Разработчик, чтобы отобразить в контроле сумму всех значений числового поля, использовал cxGrid. Да, набор данных не был привязан к физическому хранилищу и использовать SQL было проблематично. Но привязывать вычисление суммы к визуальному контролу, да еще такому сложному – решение спорное. Проще сделать полный перебор записей. А TDBSumList в EhLib способен решить эту проблему запросто.

Более того, невизуальные компоненты EhLib, в том числе TMemTableEh и TDBSumList вы можете использовать в FireMonkey.

Опять же, очень помогает наличие русскоязычной документации. При чем, если вы ее распечатаете, вам не придётся покупать новый книжный шкаф. Кроме этого в комплекте имеются хорошо структурированные примеры использования EhLib. Да и русскоязычная техническая поддержка имеет большое значение.

Ещё немаловажно и то, что EhLib – продукт «с историей». И если он развивался на протяжении многих лет, то есть основания полагать, что и дальше он поддерживаться и развиваться.

Подводя итог скажу, что за последние несколько лет EhLib действительно «вырос» и превратился в мощнейший инструмент отображения данных в Delphi приложениях. Если вы составили свое мнение об этом продукте на основе ранних версий, настоятельно советую посмотреть скриншоты и демонстрационные примеры актуальной версии. Поверьте, есть на что посмотреть и чему удивиться. А весьма демократичная цена делает EhLib более чем привлекательным не только для относительно дорогих проектов, но и для индивидуальных разработчиков.


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика