romves - Регистрация доменов в зоне РФ начнется в апреле 2010 года. главная Дайджест. . Доступно рассказанная информация об мифы востока в Интернет . Семинары для бухгалтеров: финансовые курсы.

{ **** UBPFD *********** by delphibase.endimus.com ****
>> TreeView - компонент для показа dataset в виде дерева с сохранением

Цель создания: необходимость быстрого выбора товара из справочника в виде дерева.
Компонент для визуализации дерева из таблицы. привязка к полям не ведется.
Ключевое поле находится в node.stateindex.

Использует 4 иконки для узлов и позиций, где 0-невыбранный узел,
1- выбранный узел, 2- невыбранный пункт, 3- выбранный пункт.

Необходимо выбрать datasource. вписать id, parentid.
Заполнение методом MRRefresh.
Сохранение в файл методом
MRPSaveToFile(ProgPath+’NameTree.tree’).
Загрузка из файла соответственно MRPLoadFromFile(ProgPath+’NameTree.tree’).
Кроме того поддерживаются метода последовательно поиска в обоих направлениях.

Зависимости: Windows, Messages, SysUtils, Classes, Controls, ComCtrls,DB,DBCtrls
Автор: Валентин, visor123@ukr.net, Днепропетровск
Copyright: Собственная разработка.
Дата: 9 апреля 2003 г.
***************************************************** }

unit GRTreeView;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, ComCtrls, DB, DBCtrls,
Dialogs;

type
TMRGroupRec = record
ID, MasterID, Level: integer;
MainName: string;
end;
TMRGroup = class(TPersistent)
private
fCount: integer;
protected
procedure SetCount(value: integer);
public
items: array of TMRGroupRec;
property Count: integer read fCount write SetCount;
constructor Create;
destructor destroy; override;
procedure Clear;
procedure Add(AID, AMasterID: integer; AMainName: string);
function GetIndexByMasterID(AMasterID: integer): integer;
end;
TGRTreeView = class(TTreeView)
private
{ Private declarations }
fDataSource: TDataLink;
fFeyField: TFieldDataLink;
fMasterFeyField: TFieldDataLink;
fNameField: TFieldDataLink;
// fRootName:string;
fSeparator: Char;
fLock: Boolean;
fSearchIndex: integer;
function GetBufStart(Buffer: PChar; var Level: Integer): PChar;
protected
{ Protected declarations }
function GetDataSource: TDataSource;
procedure SetDataSource(value: TDataSource);
function GetKeyField: string;
procedure SetKeyField(value: string);
function GetMasterKeyField: string;
procedure SetMasterKeyField(value: string);
function GetNameField: string;
procedure SetNameField(value: string);
procedure SetSeparator(value: char);
procedure GetImageIndex(Node: TTreeNode); override;
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor destroy; override;
function MRRefresh: Boolean;
procedure MRPLoadFromFile(const FileName: string); overload;
procedure MRPLoadFromFile(const FileName: string; RootName: string);
overload;
procedure MRPLoadFromStream(Stream: TStream);
procedure MRPSaveToFile(const FileName: string);
procedure MRPSaveToStream(Stream: TStream);
function MRGetIndexByText(AText: string): integer;
function MRGetIndexByMasterID(MasterID: integer): integer;
function MRGetIndexByMasterIDRecurse(MasterID: integer): integer;
function MRSearchByText(AText: string; Next: Boolean = True; UseSearchIndex:
Boolean = false): integer;
published
{ Published declarations }
property Separator: char read fSeparator write SetSeparator;
property DataSource: TDataSource read GetDataSource write SetDataSource;
property KeyField: string read GetKeyField write SetKeyField;
property MasterField: string read GetMasterKeyField write SetMasterKeyField;
property NameField: string read GetNameField write SetNameField;
end;

Страницы: 1 2 3 4 5 6

Эта запись была опубликована 14.12.2007в 20:49. В рубриках: Базы данных. Вы можете следить за ответами к этой записи через RSS 2.0. Комментарии пока закрыты, но Вы можете оставить трекбек со своего сайта.