如何动态更新treeview中节点的text?
你好!请求各位高手帮忙一下,问题是这样的,我现在用treeview和access数据库进行绑定。我在treeview中更改了节点的text,我想把数据库里面相对应的数据也更新。我在treeview中的Onedited事件中是这样写的:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
with adoquery1 do
begin
close;
connection:=adoconnection1;
sql.clear;
sql.Add('update lb');// 更新类别
sql.add('set lbmc=:cc where lbid=:id');
parameters[0].Value:=treeview1.Items[treeview1.Selected.Index].Text;
parameters[1].value:=lbid;//单元变量,对应数据库里面的lbid,在onediting里面定义过。
if prepared=false then
begin
prepared:=true;
end;
execsql;
end;
end;
OnEditing事件为:
procedure TForm1.TreeView1Editing(Sender: TObject; Node: TTreeNode;
var AllowEdit: Boolean);
var
adoquery11:Tadoquery;
begin
try
adoquery11:=Tadoquery.Create(nil);
with adoquery11 do
begin
close;
connection:=Adoconnection1;
sql.Clear;
sql.Add('select lbid from lb where lbmc=:mc');
parameters[0].Value:=treeview1.Items[treeview1.Selected.Index].Text;
open;
if recordcount>0 then
begin
lbid:=fieldbyname('lbid').asinteger;
end;
end;
finally
adoquery11.Close;
adoquery11.free;
end;
end;
end;
我现在获取的text还是之前没有更改过的text,我该怎么办?