рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Цвет и фонт текстового редактора по месту.

Цвет и фонт текстового редактора по месту. - раздел Программирование, Библиотека компонент EhLib - Руководство разработчика Редактор Получает Цвет И Фонт Из Цвета И Фонта Ячейки. Ячейка Получает Цвет И...

Редактор получает цвет и фонт из цвета и фонта ячейки. Ячейка получает цвет и фонт из столбца и в событии OnGetCellParams. Редактор автоматически устанавливает многострочный режим если высота строки больше высоты одной строки и свойство WordWrap для столбца установлен в True.

Автоматическая подгонкашириныстолбцов grid'а под ширину клиентской области grid'а.

Установите AutoFitColWidths в True для автоматического изменения ширины столбцов так что ширина свей сетки будет равна видимой части окна сетки. Свойство MinAutoFitWidth определяет минимальную ширину grid'а при которой происходит изменение ширины.

3D и flat вид grid'а.

Используйте свойство OptionsEh для отображения/скрытия 3D-рамки вокруг фиксированных, закрепленных, колонтитулов и строк данных.

Используйте свойство Flat для отображения grid'а в плоском стиле.

Импорт/Экспорт данных TDBGridEh в/изразные форматы.

EhLib имеет набор функций для экспорта данных DataSet'а в Text, Csv, HTML, RTF, XLS и внутренние форматы. Он может записывать данные в поток (объект TStream) либо в файл.

Пример:Pascal: SaveDBGridEhToExportFile(TDBGridEhExportAsText,DBGridEh1,'c:tempfile1.txt',False);C++: SaveDBGridEhToExportFile(__classid(TDBGridEhExportAsText),DBGridEh1,"c:\temp\file1.txt",false);

EhLib имеет набор функций для импорта данных из Text и внутренних форматов в DataSet подключенный к сетке. Он может считывать данные из потока (объект TStream) либо из файла.

Работа со свойствами объекта TDBGridEh.IndicatorTitle.

Используя свойства объекта TDBGridEh.IndicatorTitle вы можете управлять поведением сетки при нажатии на верхнюю левую ячейку.

 

 

Чтобы верхняя левая ячейка работала в режиме кнопки установите TitleButton в True. В этом случае также будет использоваться свойство DropdownMenu и UseGlobalMenu. Если UseGlobalMenu = True то после щелчка не на верхнюю левую ячейку сетка будет формировать выпадающее DropDown menu используя глобальное свойство DBGridEhCenter. IndicatorTitleMenus. Если будет также установлено свойство DropdownMenu, то элементы этого меню будут добавлены в выпадающее меню после элементов глобального меню.

 

property DropdownMenu: TPopupMenu;

Определяет выпадающее меню, элементы которого будут отображаться при нажатии на IndicatorTitle ячейку.

 

property ShowDropDownSign: Boolean default False;

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

 

property TitleButton: Boolean;

Определяет что верхняя левая ячейка работает как кнопка.

 

property UseGlobalMenu: Boolean default True;

При формировании выпадающего меню использовать свойства глобального объекта DBGridEhCenter. IndicatorTitleMenus.

 

Настройка глобальных свойств TDBGridEh.

Библиотека имеет набор глобальных свойств и событий, которые влияют на все созданные в проекте сетки. Вы один раз настраиваете это свойство или событие, например, в главной форме вашего проекта, и все сетки проекта будут менять свое поведения согласно этим настройкам. Для управления глобальным поведением сеток используются глобальные объекты типа TDBGridEhCenter и TDBGridEhStyle. Первый объект используется для управления поведением грида, второй для управления отображением.

 

Общая информация о классе TDBGridEhCenter:

Для доступа к элементам объекта TDBGridEhCenter используйте глобальную функцию:

 

function DBGridEhCenter: TDBGridEhCenter;

 

Она возвращает текущий объект типа TDBGridEhCenter, который управляет поведением всех сеток. Вы можете написать наследника от TDBGridEhCenter в, котором можно переписать виртуальные методы управляющие поведением сеток, и зарегистрировать ваш объект управления с помощью функции:

 

function SetDBGridEhCenter(NewGridCenter: TDBGridEhCenter): TDBGridEhCenter;

 

Она устанавливает новый объект управления и возвращает ссылку на старый. Старый объект чаще всего необходимо просто удалить.

 

Свойства и события класса TDBGridEhCenter: Свойства: property FilterEditCloseUpApplyFilter: Boolean;Определяет, будет ли применяться SubTitleFilter сразу после выбора значений из DropDown списка или для применения фильтра надо всегда нажимать Enter. propertyIndicatorTitleMenus: TDBGridEhStyleIndicatorTitleMenusEh;Задает список элементов, которые будут появляться в выпадающем DropDown списке меню сеток при установленном TDBGridEh.IndicatorTitle.UseGlobalMenu = True и TDBGridEh.IndicatorTitle.TitleButton = True. Тип TDBGridEhStyleIndicatorTitleMenusEh является перечисление и содержит следующие значения itmVisibleColumnsEh - Отображать меню со списком полей грида, кликая на которые можно отображать срывать столбцы. itmCut - Отображать меню Cut itmCopy - Отображать меню Copy itmPaste - Отображать меню Paste itmDelete - Отображать меню Delete itmSelectAll - Отображать меню SelectAll События: OnApplyFilter: TNotifyEvent; Событие вызывается, когда в сетке применяется SubTitleFilter. В качестве параметра Sender передается вызывающая сетка. В обработчике события вы можете вызывать обработчик по умолчанию DBGridEhCenter.DefaultApplyFilter. OnApplySorting: TNotifyEvent; Событие вызывается, когда в сетке применяется сортировка. В качестве параметра Sender передается вызывающая сетка. В обработчике события вы можете вызвать обработчик по умолчанию DBGridEhCenter. DefaultApplySorting. OnBuildIndicatorTitleMenu: TDBGridEhBuildIndicatorTitleMenu; Событие вызывается, когда в сетке формируется выпадающее меню при нажатии на верхнюю левую ячейку сетки IndicatorTitle. Событие вызывается если TDBGridEh.IndicatorTitle.TitleButton = True. В событие передается Grid, в котором была нажата IndicatorTitle кнопка и PopupMenu, которое будет отображено под кнопкой. Вы можете вызвать функцию, которая сформирует меню по умолчанию DBGridEhCenter.DefaultBuildIndicatorTitleMenu(Grid, PopupMenu);и затем выполнить дополнительные манипуляции, например, добавить еще один элемент меню. // Ниже пример демонстрирующий как добавить в список IndicatorTitle меню новое меню для печати сетки. // Объявляем ссылку на новое глобальное меню для печати сетки.var DBGridEhPreviewIndicatorMenuItem: TDBGridEhMenuItem; // В public разделе главной формы объявляем методы для события по созданию IndicatorTitle меню. procedure BuildIndicatorTitleMenu(Grid: TCustomDBGridEh; var PopupMenu: TPopupMenu);// И события, которое будет вызываться при выборе нового меню, которое мы добавим в BuildIndicatorTitleMenu. procedure MenuEditClick(Sender: TObject); // В событии создания главной формы (TMainForm.OnCreate) программы присваиваем событие по формированию IndicatorTitle меню.procedure TForm1.FormCreate(Sender: TObject);begin DBGridEhCenter.OnBuildIndicatorTitleMenu := BuildIndicatorTitleMenu;end; // Сам метод для добавления нового меню в стандартный список IndicatorTitle меню.procedure TForm1.BuildIndicatorTitleMenu(Grid: TCustomDBGridEh; var PopupMenu: TPopupMenu);begin// Вначале вызываем стандартный метод формирования меню. DBGridEhCenter.DefaultBuildIndicatorTitleMenu(Grid, PopupMenu); // Затем добавляем создаем новый. if DBGridEhPreviewIndicatorMenuItem = nil then DBGridEhPreviewIndicatorMenuItem := TDBGridEhMenuItem.Create(Screen); DBGridEhPreviewIndicatorMenuItem.Caption := 'Preview'; DBGridEhPreviewIndicatorMenuItem.OnClick := MenuEditClick; DBGridEhPreviewIndicatorMenuItem.Enabled := True; DBGridEhPreviewIndicatorMenuItem.Grid := Grid; // И добавляем его в конец списка меню. PopupMenu.Items.Insert(PopupMenu.Items.IndexOf(DBGridEhSelectAllIndicatorMenuItem)+1, DBGridEhPreviewIndicatorMenuItem); end; // Обработчик меню печати сетки.procedure TForm1.MenuEditClick(Sender: TObject);begin PrintDBGridEh1.DBGridEh := TDBGridEh(TDBGridEhMenuItem(Sender).Grid); PrintDBGridEh1.SetSubstitutes(['%[Today]',DateToStr(Now)]); PrintDBGridEh1.Preview;end; OnCellMouseClick: TGridEhCellMouseEvent; type TGridEhCellMouseEvent = procedure (Grid: TCustomGridEh; Cell: TGridCoord; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) of object; Событие вызывается при щелчке мышкой на любую ячейку сетки. В событие передается сетка, в которой была кликнута ячейка (Grid), координаты ячейки (Cell), Кнопка, которая была нажата на мышке (Button), Состояние Shift кнопок клавиатуры (Shift) и координаты точки нажатия внутри ячейки (X, Y). В обработчике события вы можете вызывать обработчик по умолчанию DBGridEhCenter.DefaultCellMouseClick. OnIndicatorTitleMouseDown: TGridEhCellMouseEvent; type TGridEhCellMouseEvent = procedure (Grid: TCustomGridEh; Cell: TGridCoord; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) of object; Событие вызывается при нажатии мышкой на верхнюю левую ячейку сетки. В обработчике события вы можете вызывать обработчик по умолчанию DBGridEhCenter.DefaultIndicatorTitleMouseDown. OnLocateText: TLocateTextEventEh; type TLocateTextEventEh = function (Sender: TObject; const FieldName: string; const Text: String; Options: TLocateTextOptionsEh; Direction: TLocateTextDirectionEh; Matching: TLocateTextMatchingEh; TreeFindRange: TLocateTextTreeFindRangeEh): Boolean of object; Событие вызывается при инкрементном или диалоговом поиске в сетке.

 

 

Общая информация о классе TDBGridEhStyle:

Для доступа к элемента объекта TDBGridEhStyle используйте глобальную функцию:

 

function DBGridEhStyle: TDBGridEhStyle;

 

Она возвращает текущий объект типа TDBGridEhStyle, который управляет отображением всех сеток. Вы можете написать наследника от TDBGridEhStyle в котором можно переписать виртуальные методы управляющие отображением сеток, и зарегистрировать ваш объект управления с помощью функции:

 

function SetDBGridEhStyle(NewGridStyle: TDBGridEhStyle): TDBGridEhStyle;

 

Она устанавливает новый объект отображения и возвращает ссылку на старый. Старый объект чаще всего необходимо просто удалить.

 

 

Свойства и события класса TDBGridEhStyle:

 

Свойства

property LuminateSelection: Boolean default True;

Определяет метод подсветки выделенной области. Если LuminateSelection = False то выделение будет закрашиваться цветом clHighlight. Если LuminateSelection = True то выделение будет закрашиваться методом легкого затемнения в сторону clHighlight цвета.

 

property IsDrawFocusRect: Boolean default True;

Определяет нужно ли рисовать оконтовочный точечный квадрат в сетках вокруг текущей ячейки или строки-записи.

 

Другие возможности.

В lookup-редакторе вы можете очистить (установить в Null) значение LookupKeyField в runtime. Просто выделите весь текст и нажмите Delete.

– Конец работы –

Эта тема принадлежит разделу:

Библиотека компонент EhLib - Руководство разработчика

На сайте allrefs.net читайте: "Библиотека компонент EhLib - Руководство разработчика"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Цвет и фонт текстового редактора по месту.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Редакция: 1.52
(Изменения и дополнения по сравнению с редакцией 1.5 отчечена красным цветом) Оглавление Введение. 4 Установка. 8 Распаков

Объект TPrinterPreview
Объект TPrinterPreview (невизуальный) позволяет записывать данные для печати в буфер для последующего вывода их на экран либо на принтер. TPrinterPreview имеет все функции и свойства объекта TPrint

TPropStorageEh, TIniPropStorageManEh, TRegPropStorageManEh Использование TPropStorageEh
Компоненты реализуют технологию сохранения свойств компонент формы в/из хранилища, такого как, например, ini-файл или реестр.   TMemTableEh

Распаковкаархива
Распакуйте архив EhLib. После распаковки вы получите следующие папки: Папки 'EhLib - source include' версии: BCB4 Содержит фа

Наиболее часто встречающиеся проблемы при инсталляции и методы их решения.
Проблема: Решение: Во время компиляции Delphi выдает следующую ошибку: "Unit AAA compiled with different version of unit BBB"

Использование компоненты TDBGridEh
Общие понятия о TDBGridEh, TDataLink и TDataSet. Следующий раздел распространяется как на компонент TDBGridEh так и на TDBGrid. Компонент TDBGrid

Работа с TDBGridEh в режиме разработки.
TDBGridEh состоит из строк и столбцов. Каждая строка это запись TDataSet’а. Каждый столбец это поле TDataS

Панель детальной информации для записи – RowDetailPanel.
Подствойства свойства RowDetailPanel позволяют вам создавать и настраивать панель детальной информации для

Published
Active: Boolean; позволяет активизоровать панель детальной информации. При активизации панели, напротив каждой записи появляется значок '+', нажимая на которую можно раскрывать/скрывать панель дета

Режим RowPanel
Грид поддерживает режим, когда ячейки записи грида могут быть расположены друг под другом и иметь индивиду

Работа в режиме группировки данных.
Грид позвлояет группировать данные в памяти используя столбцы как критерии группировки. Группиров

TDBGridEh и вертикальный scrollbar.
При работе разными типами dataset'ов можно обратить внимание, что для одних типов dataset'ов DBGrid отображает вертикальный scrollbar правильно, а для других имеет только 3 позиции независимо от чи

Комплексные заголовки.
TDBGridEh позволяет создавать заголововок над несколькими столбцами. See Figure: Для этого надо установить свойство DBGridEh.UseMultiTitle в True и заполнить заголовки полей (TFie

Колонтитулы и итоговые значения.
TDBGridEh позволяет отображать специальную строку (колонтитул) либо строки в нижней части grid'а. Используйте свойство FooterRowCount для определения числа строк колонтитулов в grid'е и свойства Fo

Отображение картинок в ячейках данных, в зависимости от значений полей.
TDBGridEh позволяет отображать картинки из компонента TImageList, в зависимости от значений полей. Для этого нужно заполнить список значений полей в свойстве Column.KeyList (каждое значение в отдел

Индивидуальная высота каждой записи.
TDBGridEh может работать в режиме, когда он автоматически выставляет высоту каждой строки в зависимости от количества текста в ячейке или размера графического изображения (Если включен режим DrawGr

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

Значения по умолчанию для свойств столбцов.
Для установки значений по умолчанию для свойств столбцов используйте свойство TDBGridEh.ColumnDefValues. Вновь создаваемые столбцы получат свойства из ColumnDefValues и будут хранить их до первого

Столбец с простыми lookup-значениями.
Вы можете отображать в столбце другой текст, зависящий от значения поля. Используйте свойства KeyList и PickList. KeyList содержит значения, которые сохраняются в поле, а PickList - в соответствующ

Инкрементный поиск
TDBGridEh позволяет пользователям совершать специальный "инкрементный" поиск в столбце grid'а. Когда пользователь входит в режим инкрементного поиска, он может набирать символы и grid буд

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

Сохранение и восстановление макета сетки и колонок в/из реестра либо ini-файл.
В TDBGridEh есть набор методов для сохранения и восстановления макета сетки и колонок в/из реестра либо ini-файл: RestoreColumnsLayout - Восстановление порядка следования столбцов, ширины

Мастер/дитэил отношения.
Мастер/дитэил отношение – это режим работы двух датасетов при котором все видимые записи одного датасета (DetailDataSet) всегда соответствуют одной записи другого датасета (MasterDataSet). При движ

Режим хранения записей в виде дерева (TreeView).
В режиме дерева TMemTableEh создает объекты-узлы (типа TMemRecViewEh) для каждой записи внутреннего массива записей. Объект-узел имеет ссылку на запись (свойство Rec) и ссылку на список подузлов (N

Работа с полями типа AutoIncrement
TMemTableEh имеет объект AutoIncrement со свойствами InitValue и Step для работы с полями у которых значения генерируется автоматической последовательностью чисел. У таких полей свойство TFIeld. Au

Использование общих данных несколькими датасетами.
TMemTableEh позволяет использовать общий табличный массив записей несколькими компонентами TMemTableEh. При этом один из компонентов TMemTableEh является владельцем массива, а другие подключаются к

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

Создание/удаление таблиц в памяти в режиме ‘stand-alone’.
MemTableEh позволяет создавать внутренний массив записей в режиме Design-time и в режиме Run-time. Прежде, чем создавать массив, Вы должны задать свойства компонента, для определения структуры поле

Работа с компонентом в режиме ‘with datadriver’.
Режим ‘with datadriver’ работает, когда присвоено свойство TMemTableEh.DataDriver. При активизации датасета внутренний массив данных создается автоматически при активизации MemTableEh’а. Структура

Отложенные обновления (CachedUpdates).
TMemTableEh может работать в режиме оперативных или отложенных обновлений. Режим обновления определяет, когда будет посылаться информация об измененных записях в компонент TDataDriverEh (при этом T

Поиск в TMemTableEh
Вы можете осуществлять поиск в TMemTableEh используя следующие методы:   Locate Метод locate перемещает курсор на первую строку, удовлетв

With CustTable do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver','P']), loPartialKey);   Locate использует самый быстрый из возможных методов поиска. Если столбцы в поиске проиндекс

Быстрый доступ к значениям записи.
Для доступа к значениям полей конкретной записи в стандартном DataSet’е необходимо вначале перейти на нужную запись. Это не всегда удобно т.к. переход на запись методами MoveBy, RecNo, Bookmark акт

Внутренние объекты компонента TMemTableEh.
В большинстве случаев для работы с данными вам TMemTableEh вам будет достаточно свойств и методов самого компонента. Однако в некоторых случаях необходимо иметь возможность обработки данных на боле

Работа с TMemTableEh в период разработки.
В период разработки двойной щелчок на компоненте открывает окно управлением компонентом – TMemTableFieldsEditor. В нем можно: Создавать поля (компоненты TField) для TMemTableEh. З

Компонент TDataDriverEh.
TDataDriverEh - это поставщик данных в TMemTableEh и обработчик изменений от TMemTableEh. TDataDriverEh это простейший поставщик данных, он является посредником между TMemTableEh и другим DataSet’о

Компонент TSQLDataDriverEh.
TSQLDataDriverEh это универсальный драйвер обработки данных, взаимодействующих с сервером посредствам языка SQL. TSQLDataDriverEh содержит пять объектов типа TSQLCommandEh: SelectCommand, DeleteCom

Свойство TXXXDataDriverEh.SpecParams.
Cвойство SpecParams содержит список параметров и значений. TXXXDataDriverEh используют их при выполнении SQL выражений. Значение каждого параметра должно храниться в отдельной строке в формате ‘ИМЯ

Динамическое формирование SQL выражений при обновлении данных.
TSQLDataDriverEh позволяет формировать Insert, Update и Delete выражения динамически перед посылкой запроса на сервер. Это полезно когда таблица содержит много записей а изменения были только в нес

TSQLDataDriverEh или TXXXDataDriverEh, что выбрать для работы.
Как TSQLDataDriverEh так и один из компонентов TBDEDataDriverEh, TIBXDataDriverEh, TDBXDataDriverEh и TADODataDriverEh (будем в дальнейшем называть их TXXXDataDriverEh) позволяют работать с БД без

Работа с TSQLDataDriverEh и TXXXDataDriverEh в период разработки.
Двойной щелчок на компоненте TSQLDataDriverEh и TXXXDataDriverEh открывает окно диалога редактирования TSQLDataEditWin. В период разработки TSQLDataDriverEh или TXXXDataDriverEh независимо от того

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги