dv树控件treeview posteditor是怎么用的
1个回答
2017-07-22 · 知道合伙人互联网行家
关注
展开全部
可以利用C++ map 对象保存一个ID和HTREEITEM 的映射,伪代码如下
#include <map>
using namespace std;
声明一个保存映射的全局或局部map 成员。
map<int, HTREEITEM> _maps;
添加列表伪代码
_RecordsetPtr rs ;
rs.CreateInstance() ....;
rs->Open(....)// 读取TB_JCU
循环变量recordset 对象,并插入树形列表
rs->MoveFirst();
while(!rs->EOF) {
int id = rs->Fileds->GetItem("id").Value;
HTREEITEM hItem = tree.InsertItem(....) ; // 插入校区。
// 关键部分
_maps.insert(std::pair<int, HTREEITEM>(id, hItem));
rs->movenext();
}
下面插入第二张表
rs->open(....); 读取TB_Profession
遍历recordset
while(!rs->EOF)
{
取father, id 两个字段
int father = rs->Fields->GetItem["father"].value;
int id = rs->Fields->GetItem["id"].value;
取需要插入的father HTREEITEM
HTREEITEM hFather = _maps[fahter];
插入HTREEITEM ;
HTREEITEM hItem = tree.InsertItem(.....); // 设定父HTRRITEM 为 hFather;
// 然后将新添加的HTREEITEM 添加到map 对象
_maps[id] = hItem;
}
以类似的方式将第三章表插入到树形控件
#include <map>
using namespace std;
声明一个保存映射的全局或局部map 成员。
map<int, HTREEITEM> _maps;
添加列表伪代码
_RecordsetPtr rs ;
rs.CreateInstance() ....;
rs->Open(....)// 读取TB_JCU
循环变量recordset 对象,并插入树形列表
rs->MoveFirst();
while(!rs->EOF) {
int id = rs->Fileds->GetItem("id").Value;
HTREEITEM hItem = tree.InsertItem(....) ; // 插入校区。
// 关键部分
_maps.insert(std::pair<int, HTREEITEM>(id, hItem));
rs->movenext();
}
下面插入第二张表
rs->open(....); 读取TB_Profession
遍历recordset
while(!rs->EOF)
{
取father, id 两个字段
int father = rs->Fields->GetItem["father"].value;
int id = rs->Fields->GetItem["id"].value;
取需要插入的father HTREEITEM
HTREEITEM hFather = _maps[fahter];
插入HTREEITEM ;
HTREEITEM hItem = tree.InsertItem(.....); // 设定父HTRRITEM 为 hFather;
// 然后将新添加的HTREEITEM 添加到map 对象
_maps[id] = hItem;
}
以类似的方式将第三章表插入到树形控件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询