Модуль RsTree


Модуль RsTree download предназначен отображение каскадных объектов баз данных совместно с RSODBC.

Список функций и методов:
Load- создает объект дерево.
Close- уничтожает объект дерево.
Show- отображает дерево.
Selected- возвращает номер выбранной записи.
Append- добавляет запись в дерево.
Edit- редактирует запись дерева.
Delete- удаляет запись из дерева.
hWnd- возвращает описатель окна дерева.
Find- ищет в дереве первый подходящий элемент.
FindAll- ищет в дереве все подходящие элементы.
FindNext- выделяет следующий найденный элемент.
Index- возвращает номер эаписи по значению ключа.
Drag- Drag and drop елемент дерева.

Список функций и методов

Load

Назначение.Создает объект дерево.

Load( LONG<hWnd> ) LONG<pClass>

hWnd - описатель родительского окна.

Пример:

 SET Tree= RSTREE.Load( HWND )
 IF EMPTY(Tree) GOTO CLOSE
 RES= ATTACH( Tree.hWnd(),0,0 )

 EVENT 4000,RECORD
 EVENT $EDBLCLK,EDIT
 EVENT $EKEY,KEYDOWN
 IF NOT Tree.Show( Rs, "EVENT=4000;ID=ID;OWN=OWN" ) GOTO CLOSE
 EVENT 40203, EDIT
 EVENT 40201, APPEND
 EVENT 40202, DELETE
 EVENT $EDRAG,DRAGBEG
END

CLOSE:
 ERASE Tree.Close
 ERASE Rs.Close
 ERASE Shop.BaseClose
 BREAK
END

Close

Назначение.Уничтожает объект дерево.

Close

Пример:

ERASE Rs.Close

Show

Назначение.Отображает дерево.

Show( OBJECT<Rs>, STRING<Param> ) BOOL

Rs - открытый recordset.
Param - параметры.

Описание.Метод отображает дерево вида:
RsTree
Для отображения дерева методу передается открытый recordset образующий ирархическую структуру. Поля задающие значение Primary Key задаются параметром ID, который может содержать до четырех полей. Поля задающие ссылку на ID определяются параметром OWN. Для отображения елементов дерева объект генерирует событие, код которого определяется параметром EVENT. Дополнительно может быть задан параметр SORT, что указывает на необходимость сортировать отображаемые данные.

Пример:

ok=Tree.Show( Rs, "EVENT=4000;ID=ID|FI;OWN=OWNID|OWNFI" )

Selected

Назначение.Возвращает номер выбранной записи.

Selected() LONG

Описание.Метод возвращает номер выбранной записи. Если таковой нет, то возвращается 0.

Пример:

REC=Tree.Selected()

Append

Назначение.Добавляет запись в дерево.

Append( LONG<Rec> ) BOOL

Rec - номер добавляемой записи.

Описание.Метод добавляет новую запись в дерево. Точка добавления определяется значением полей заданных параметром OWN.

Пример:

ok=Tree.Append(NewRec)

Edit

Назначение.Корректирует данные елемента дерева.

Edit( LONG<Rec> ) BOOL

Rec - номер измененной записи.

Описание..Метод обнавляет данные об элементе дерева из записи.

Пример:

ok=Tree.Edit(Rec)

Delete

Назначение.Удаляет елемент дерева.

Delete( LONG<Rec> ) BOOL

Rec - номер измененной записи.

Пример:

ok=Tree.Delete(Rec)

hWnd

Назначение.возвращает описатель окна дерева.

hWnd() LONG

Пример:

hTree=Tree.hWnd()

Find

Назначение.Ищет заданную подстроку в элементах дерева.

Find( STRING<Pattern> ) BOOL

Pattern - фрагмент текста для поиска.

Описание.Метод ищет заданную подстроку в элементах дерева и в случае успеха устанавливает курсор на первой найденной.

Пример:

ok=Tree.Find("133")

FindAll

Назначение.Ищет заданную подстроку в элементах дерева.

FindAll( STRING<Pattern> ) LONG

Pattern - фрагмент текста для поиска.

Описание.Метод ищет заданную подстроку в элементах дерева и возвращает их количество.

Пример:

Cnt=Tree.FindAll("133")
IF Cnt > 0 THEN Num=Tree.FindNext(0)

FindNext

Назначение.Выделяет следующий найденный элемент.

FindNext( LONG<Ind> ) LONG

Ind - номер элемента начиная с нуля.

Описание.Метод устанавливает указатель на найденном элементе дерева и возвращает номер следующего элемента.

Пример:

Cnt=Tree.FindAll("133")
IF Cnt > 0 THEN Num=Tree.FindNext(0)

Index

Назначение.Возвращает номер эаписи по значению ключа.

Index( LONG<I1>, LONG<I2>, LONG<I3>, LONG<I4> ) LONG

I1..I4 - значения полей ключа.

Пример:

REC=Tree.Index(567,1,0,0)

Drag

Назначение.Drag and drop елемент дерева.

Drag( LONG<Param> ) LONG

Param - значения PARAM dBasic.

Описание.Метод позволяет организовать перемещение элементов дерева методом Drag and drop. Для его активизации следует установить событие dBasic EVENT $EDRAG,DRAGBEG. При возникновении этого события вызов метода возвращает номер записи, которую пользователь хочет переместить. А по завершению перемещения номер записи в которую происходит перемещение.

Пример:

 ...
 EVENT $EDRAG,DRAGBEG
 ...
END

DRAGBEG:
 r1=Tree.Drag( PARAM )
 EVENT $EDRAG
 EVENT $EMOVE,DRAGMOVE
 EVENT $ELBUTUP,DRAGSTOP
END

DRAGMOVE:
 Tree.Drag( PARAM )
END

DRAGSTOP:
 r2=Tree.Drag( 0 )
 EVENT $EMOVE
 EVENT $ELBUTUP
 EVENT $EDRAG,DRAGBEG
 IF r1=r2 THEN END

 Rs.RecGet(r1)
 i1=Rs.FldGet("ID")
 Rs.RecGet(r2)
 i2=Rs.FldGet("ID")

 'Перемещение
 ...
END 

Hosted by uCoz