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

Думаю, что перед тем, как продолжить рассмотрение функциональных возможностей Table View будет уместным немного отвлечься и чуть подробнее рассмотреть структуру View.  Как видно из диаграммы, приведенной в предыдущем посте, все Grid View наследуются от класса TcxCustomGridView. И именно в этом классе описано ключевое  свойство View – DataController:

property DataController: TcxCustomDataController;

Это свойство отвечает за подключение View к источнику данных. Кроме этого, DataController реализует функции управления данными, их сортировки, фильтрации и подсчета сумм. Естественно, в каждом наследнике TcxCustomGridView свойство DataController может описываться по-разному, но это всегда будет класс-наследник TcxCustomDataController. Например, для TcxGridDBTableView свойство DataController будет иметь тип TcxGridDBDataController, который наследуется от класса TcxDBDataController, являющегося, в свою очередь, наследником TcxCustomDataController.
Принципы ООП здесь используются в полной мере. Однако, тут есть и “обратная сторона медали”. Иногда в коде приходится заботиться о явном приведении типов.

Тем не менее, такой подход  дает некоторое удобство при работе с View. Так, если мы в Run Time хотим выполнить какие-то операции с данными, привязанными к гриду, мы четко знаем, что, прежде всего, нам потребуется обратиться к свойству  DataController.

Еще одно свойство класса TcxCustomGridView, на которое следует обратить внимание, – Styles:

property Styles: TcxCustomGridStyles;

С помощью этого свойства настраивается визуальное оформление View (цветовые схемы, шрифты и т.д.).

Вновь возвращаясь к диаграмме, можно заметить, что все View кроме Chart View имеют, в качестве родительского класса, класс  TcxCustomGridTableView. Этот класс  также имеет несколько свойств, на которые стоит обратить внимание. Они определяют различные аспекты поведения и оформления View.

property OptionsBehavior: TcxCustomGridTableOptionsBehavior;
содержит настройки, которые определяют реакцию View на действия пользователя.
property OptionsCustomize: TcxCustomGridTableOptionsCustomize;
содержит опции, которые определяют возможность пользователем изменять настройки View в Run Time.
property OptionsData: TcxCustomGridTableOptionsData;
содержит опции, которые определяют поведение View, связанных с даннами.
property OptionsSelection: TcxCustomGridTableOptionsSelection;
Содержит настройки, влияющие на выделение (selection).
property OptionsView: TcxCustomGridTableOptionsView;
Содержит настройки, определяющие внешний вид View.
property FilterBox: TcxGridFilterBox;
Содержит настройки, определяющие вид и поведение списка фильтрации.
property DateTimeHandling: TcxCustomGridTableDateTimeHandling;
Содержит настройки, определяющие способ отображения значений дат и времени во View.

Таким образом, при работе с View мы получаем четко структурированный набор свойств. Конечно, такая функциональность, какой обладает cxGrid, предполагает и огромный набор свойств, методов и событий для эффективного использования данного элемента управления. Но за счет грамотной организации классов использование cxGrid становится значительно комфортнее.

Другие статьи серии:

DevExpress. Заметки на полях #0
DevExpress. Заметки на полях #1
DevExpress. Заметки на полях #2
DevExpress. Заметки на полях #3
DevExpress. Заметки на полях #3.5
DevExpress. Заметки на полях #5
DevExpress. Заметки на полях #6
DevExpress. Заметки на полях #8
DevExpress. Заметки на полях #9
DevExpress. Заметки на полях #10
DevExpress. Заметки на полях #11
DevExpress. Заметки на полях #12
DevExpress. Заметки на полях #13


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

2 комментария: DevExpress. Заметки на полях #7

  • Нечаянно удалил комментарий относительно портации DevExpress в Lazarus:

    “Эх, вот если бы компоненты DevExpress для Lazarus были.. цены бы им не было. Кстати, не в курсе, никто их не портировал, или вы только в сторону Delphi смотрите?”

    Нет, не приходилось слышать о подобном…

  • Да, в Лазарусе не хватает поддержки компонентов Devexpress.

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

Ваш 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
Яндекс.Метрика