TreeView的删除问题///

thatsummer 2003-09-11 02:26:37
我的TreeView的树形结构是根据数据库表里面的数据生成的。。。。
在选中TreeView的一个节点的时候
怎么实现节点和子节点的删除?同时完成对数据表相关行的删除?
这个问题郁闷我半天了。。。。。
...全文
74 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kunwang2001 2003-09-11
  • 打赏
  • 举报
回复
1。声明record 的pointer ;
2。node.data:=该声明;
3。在创建TreeView时,把数据 的关键字段值填充.data;
4。这样,在删除时,提取.data的值,声称相关的SQl;
thatsummer 2003-09-11
  • 打赏
  • 举报
回复
方法就是这样的,可是我现在的sql语句放在哪里呢?
表示层不能写
业务层和访问层写的话都得访问表示层的数据。。。。。
老板说要传参数。。。
不东的说
Devchenxip 2003-09-11
  • 打赏
  • 举报
回复
procedure TfrmGroups.itmDeleteClick(Sender: TObject);
var
strsql,selGroup:string;
begin
selGroup:=TV.Selected.Text;
if (selGroup='系统用户组') or (selGroup='') then exit;

{判断是否有用户已经属于该用户组}
strsql := 'select Count(gId) As RecCount';
strsql := strsql + ' from Users';
strsql := strsql + ' where gId='+ lblgId.Caption +'';
RunSQL(dm.QryTmp,strsql);
if dm.QryTmp.FieldByName('RecCount').Value >0 then begin
ShowInfo('已经有用户属于该组,不能删除!');
exit;
end;
ShowWarnInfo('你确定要删除该用户组!');
strsql:='Delete From Groups Where gId='+ lblgId.Caption +'';
RunSQL(dm.Groups,strsql);
TV.Selected.Delete;
end;

//TV:TTreeView
angle097113 2003-09-11
  • 打赏
  • 举报
回复
何必呢?
你可以利用数据库的特殊结构来处理,例如你记录每一个字段的值的上一级节点的值
然后在删除某节点的时候呢,就在数据库当中查找上级为这个值的值,在删除所有的这些值,最后在把treeview重新创建一下
thatsummer 2003-09-11
  • 打赏
  • 举报
回复
怎么利用?!
kunwang2001 2003-09-11
  • 打赏
  • 举报
回复
利用.data 属性吧。

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧