Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.06;
Скачать: CL | DM;

Вниз

Проблемы при DragDrop в DBTreeList   Найти похожие ветки 

 
RDA ©   (2003-02-15 21:21) [0]

Таблица (ID,PARENT,KIND,NAZV) где KIND - smallint и определяет тип записи (подразделение-0, отдел-1, сотрудник-2). Свойство DBTreeList DragMode=dmAutomatic. При переносе все работает отлично но есть одно но - дабы не нарушить логику иерархии написал следующий код

procedure TfmStr.TreeListDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
var
TargetNode, SourceNode : TdxTreeListNode;
begin
TargetNode:=TreeList.GetNodeAt(X,Y);
SourceNode:=TreeList.FocusedNode;
if TargetNode<>nil then
case TargetNode.ImageIndex of
0 : if SourceNode.ImageIndex in [1,2,3] then Accept:=True;
1 : if SourceNode.ImageIndex in [2,3] then Accept:=True;
2 : Accept:=False;
else Accept:=False;
end;
end;

И все бы хорошо но нормально проходит перенос когда TargetNode.ImageIndex=0 и SourceNode.ImageIndex=0, хотя это явно запрещено в операторе выбора.
Может есть лучший способ оследить иерархию, посоветуйте мастера.


 
MBo ©   (2003-02-15 22:02) [1]

Accept:=False;
TargetNode:=TreeList.GetNodeAt(X,Y);
SourceNode:=TreeList.FocusedNode;
if TargetNode<>nil then
Accept:=SourceNode.ImageIndex>TargetNode.ImageIndex;

это всё.


 
RDA ©   (2003-02-16 09:51) [2]

Хотелось чтоб это было все. После такого кода, у меня вообще не работает DragDrop, хотя я и не вижу явной ошибки.


 
RDA ©   (2003-02-16 10:01) [3]

Добавлю, DBTreeList.ImageIndexFieldName=KIND, и однозначно идентифицирует тип записи.



Страницы: 1 вся ветка

Текущий архив: 2003.03.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
3-16896
kalliopiy
2003-02-14 16:23
2003.03.06
Сортировка


1-17008
Nemo
2003-02-21 02:08
2003.03.06
Помогите, пожалуйста!


14-17271
VictorT
2003-02-17 13:05
2003.03.06
Нужен пример финасового анализа деятельности какой-либо


3-16924
opoloXAI
2003-02-16 14:30
2003.03.06
Неполная дата в SQL-запросе


3-16932
Сергей
2003-02-16 01:39
2003.03.06
clientdataset