如何在输入时用树型控件按层次结构输入数据,并保存到数据库中。在查询的时候用树型控件把数据表中的数据还原出来。最好给点例子,更容易理解。谢谢。
解决方案 »
- 函数定义
- function调用问题
- 在树型目录中,如何判断我选择的节点是否有子节点?
- BCB转Delphi基础问题,来者有分!
- DELPHI中用SQL还是PL/SQL
- 关于DBGRIDEH控件的一个问题?
- 大量编程书籍下载(限9号)ftp://218.11.26.114
- 还是这边人气旺点。fastreport做的报表,如何运行时在frDbDataset过滤记录,很急!详细见内容
- 一个有关提取图标的问题!(莫非 ExtractAssociatedIcon() 函数有问题? )
- ●●●散分●●●,再送个笑话。。。。
- 那位同仁可以给在下讲讲QQ的原理,如有代码更佳
- 知道文件的路径,如何将字符串写道文件?同时要判断文件中是否已存在该字符串,存在则不插入,不存在则插入
[email protected]
从当前节点的子节点开始查找,并不仅查找子节点,也会遍历同级和父级节点
procedure TFrmWindowView.btnSearchClick(Sender: TObject);
//查找节点内容 function FindChild(
const ANode : TTreeNode;
const AText : string;
const AStart : Integer = 0
):Boolean;
//遍历子节点
var
i : Integer;
begin
Result := False;
for i := AStart to ANode.Count - 1 do
begin
if Pos(AText,UpperCase(ANode.Item[i].Text)) > 0 then
begin
ANode.Item[i].Selected := True;
Result := True;
Exit;
end;
Result := FindChild(ANode.Item[i],AText);
if Result then Exit;
end;
end; function FindParent(
const ANode : TTreeNode;
const AText : string
):Boolean;
//遍历父节点
begin
Result := False;
if not Assigned(ANode.Parent) then Exit;
Result := FindChild(ANode.Parent,AText,ANode.Index + 1);
if not Result then
Result := FindParent(ANode.Parent,AText);
end;var
sSearchText : string;
begin
if not Assigned(tv.Selected) or (edtSearch.Text = '') then Exit;
sSearchText := UpperCase(edtSearch.Text);
if not FindChild(tv.Selected, sSearchText) then
FindParent(tv.Selected, sSearchText);
end;