紧急求救:TreeView的应用问题(如何取得某个Node在数据库表中的ID),想做一个文档管理系统
我想做一个文档管理系统。
界面样式是:左边用TreeView做一个树形结构,右边是一个DBGrid,DBGrid对应右边的TreeView选中的节点所包括的文件列表
数据表:
1.TreeView的结构表:Dir表
字段如下
Id(节点ID)
PID(父节点ID)
NodeText(节点文本)
NodeLevel(节点级别)
NodeIndex(节点顺序号)
2.节点对应的文件列表
ID
NodeId(节点ID)
FileName(对应的文件名)
。。。
问题1:
我这样来设计合理不?有没有更好的设计思路?
问题2:当我点击某个节点时,我该如何取得它在Dir表中的Id值?
请大家帮帮忙,不胜感激
[解决办法]
这个比较简单,高手都不屑回答!!找一些TreeView的属性说明看一下,应该没有什么问题吧!!
[解决办法]
构建TreeView时, 按如下将Id赋给各个StateIndex.
Node->StateIndex=Id
搜索时, 取得这个StateIndex就可以了.
[解决办法]
Node->StateIndex
StateIndex 小于15保留,所以最好不要用到小于15的ID
每次取StateIndex 的值查询DBGrid所要显示的数据
[解决办法]
如果 ID 是唯一数字,最好办了。
Node->Data = (void *)AQuery->FieldByName("Id")->AsInteger;
取时:
int Id = (int)Node->Data;
若 ID 是字符,就要建立数据结构, 就太烦了,包括结构的创建与释放。好处是可以存储更多的信息。