TcxTreeList的使用心得。
2006-07-26 18:15
507 查看
Dennica
Можно и так. Только нужно проверку поставить на пустой ATreeList. И нужно все таки понять для чего Data.
И вообще я не пойму на кой тебе при такой теме TreeList ?
while not Eof do begin
with tlAvailable.Add do begin
Values[0] := FieldValues['id'];
Values[1] := FieldValues['name'];
end;
Next;
end;
Add, Add ... - где построение дерева, где родитель, где дочерние узлы? Используй грид и не морочь голову.
Дерево строится где-то таким образом
function GetNodeFromData(Data: Integer): TcxTreeListNode;
var
Node: TcxTreeListNode;
begin
Result := nil;
with TreeList do
begin
if Count = 0 then
Exit;
Node := Items[0];
while Assigned(Node) do
begin
if Integer(Node.Data) = Data then
begin
Result := Node;
Break;
end;
Node := Node.GetNext;
end;
end;
end;
procedure LoadTree;
var
Node: TcxTreeListNode;
begin
with MainDM, TreeList do
begin
Node := Add(nil,Pointer(0));
Node.Texts[0] := 'Содержание';
with TpFIBDataSet.Create(nil) do
try
Database := dbBase;
Transaction := trRd;
SQLs.SelectSQL.Add('SELECT * FROM Таблица ORDER BY ID');
Active := True;
while not Eof do
begin
Node := AddChild(GetNodeFromData(FieldByName('Родительский ID').AsInteger),
Pointer(FieldByName('ID').AsInteger));
Node.Texts[0] := FieldByName('Текст Нода').AsString;
Next;
end;
Active := False;
GotoBOF;
FocusedNode.Expand(False);
finally
Free;
end;
end;
end;
function GetNodeFromNodeText(Text: String): TcxTreeListNode;
var
Node: TcxTreeListNode;
begin
Result := nil;
with TreeList do
begin
if Count = 0 then
Exit;
Node := Items[0];
while Assigned(Node) do
begin
",1]
);
D(["mb","
begin
Result :/u003d Node;
Break;
end;
Node :/u003d Node.GetNext/n;
end;
end;
end;
",1]
);
D(["mb","/n/n",0]
);
D(["ce"]);
//-->
if Node.Texts[0] = Text then
begin
Result := Node;
Break;
end;
Node := Node.GetNext ;
end;
end;
end;
Можно и так. Только нужно проверку поставить на пустой ATreeList. И нужно все таки понять для чего Data.
И вообще я не пойму на кой тебе при такой теме TreeList ?
while not Eof do begin
with tlAvailable.Add do begin
Values[0] := FieldValues['id'];
Values[1] := FieldValues['name'];
end;
Next;
end;
Add, Add ... - где построение дерева, где родитель, где дочерние узлы? Используй грид и не морочь голову.
Дерево строится где-то таким образом
function GetNodeFromData(Data: Integer): TcxTreeListNode;
var
Node: TcxTreeListNode;
begin
Result := nil;
with TreeList do
begin
if Count = 0 then
Exit;
Node := Items[0];
while Assigned(Node) do
begin
if Integer(Node.Data) = Data then
begin
Result := Node;
Break;
end;
Node := Node.GetNext;
end;
end;
end;
procedure LoadTree;
var
Node: TcxTreeListNode;
begin
with MainDM, TreeList do
begin
Node := Add(nil,Pointer(0));
Node.Texts[0] := 'Содержание';
with TpFIBDataSet.Create(nil) do
try
Database := dbBase;
Transaction := trRd;
SQLs.SelectSQL.Add('SELECT * FROM Таблица ORDER BY ID');
Active := True;
while not Eof do
begin
Node := AddChild(GetNodeFromData(FieldByName('Родительский ID').AsInteger),
Pointer(FieldByName('ID').AsInteger));
Node.Texts[0] := FieldByName('Текст Нода').AsString;
Next;
end;
Active := False;
GotoBOF;
FocusedNode.Expand(False);
finally
Free;
end;
end;
end;
function GetNodeFromNodeText(Text: String): TcxTreeListNode;
var
Node: TcxTreeListNode;
begin
Result := nil;
with TreeList do
begin
if Count = 0 then
Exit;
Node := Items[0];
while Assigned(Node) do
begin
",1]
);
D(["mb","
begin
Result :/u003d Node;
Break;
end;
Node :/u003d Node.GetNext/n;
end;
end;
end;
",1]
);
D(["mb","/n/n",0]
);
D(["ce"]);
//-->
if Node.Texts[0] = Text then
begin
Result := Node;
Break;
end;
Node := Node.GetNext ;
end;
end;
end;
相关文章推荐
- DevExpress控件XtraTreeList的使用心得
- tcxtreelist Properties的使用(TcxImageComboBoxProperties)
- DevExpress TreeList使用心得
- 解决TcxTreeList使用的几个问题
- DevExpress TreeList使用心得
- DevExpress TreeList使用心得
- DevExpress TreeList使用心得
- [DevExpress] DevExpress TreeList使用心得
- DevExpress TreeList使用心得
- XtraTreeList控件的使用
- TreeListVew+PullToRefreshListView结合使用
- CAknSettingItemList中使用CAknEnumeratedTextPopupSettingItem使用心得
- Symbian CAknSettingItemList使用心得
- DevExpress TreeList使用
- 详解在DevExpress程序中使用TreeList控件以及节点查询的处理
- CAknSettingItemList使用心得(转)
- .net 下对于List的使用心得总结
- cxDBTreeList控件(如何使用\主要是新增父级子级\)
- xtraTreeList 使用汇集1
- TreeList控件使用2