首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AdvCheckTreeview连接数据库

AdvCheckTreeview连接数据库
EN

Stack Overflow用户
提问于 2014-10-22 09:05:19
回答 1查看 508关注 0票数 0

我有一个来自TMS的组件名为AdvCheckTreeView,其中treeview的每个节点都有一个复选框,就像附加工具面板中的CheckListBox一样。现在,我的问题是如何获得每个节点的检查状态并保存到数据库中。

假设这是一个Checktreeview,它有一个treeview和复选框:

代码语言:javascript
复制
PIS00
  |__PIS001
  |  |__PIS00011
  |  |__PIS00012
  |
  |__PIS002
  |  |__PIS00021
  |

现在,我想获取每个数据的检查状态,并将其抛到各自的Datafield中。例如。

代码语言:javascript
复制
PIS00 - Datafield/Name : DBPIS00
PIS001 - Datafield/NAme : DBPIS001

如果我检查PIS001,那么它返回一个布尔结果'True‘,如果不是,它将变成'false’,它将保存数据库中每个节点或项目的布尔结果--不管是否检查过。

这有可能吗?

如果我使用DBCheckbox,我知道如何在数据库中保存布尔值。我只是不知道如何分配数据字段,如果它是在treeview与复选框,因为它没有数据源。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-23 09:40:53

由于这不是一个数据感知控件,因此您必须手动遍历并根据节点的状态设置每个字段。从本质上说,这与您最初填充treeview时所做的相反。

代码语言:javascript
复制
var  
  I : integer;  
  lNode : TTreeNode;  
begin  
  for I := 0 to advchecktreeview1.Items.Count - 1 do  
  begin  
    lNode := AdvCheckTreeView1.Items[I];  
    MyQuery.FieldByName('RelevantField').AsBoolean := AdvCheckTreeView1.Checked[lNode];           
  end;  
end;  

或者,使用相关的Node单击事件单独设置字段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26503894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档