怎样使用Treeview的data

littlefa 2001-09-20 12:36:39
我的treeview是用数据库生成的。每个节点对应一条记录。记录中有一个字段是对应整型数值,我想把这个数值记录到节点上。怎么办?
我用 Node->Data=Query1->FieldValues["int"];出错,说不能把int转换为void型。
请各位指教。
...全文
150 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlefa 2001-09-21
  • 打赏
  • 举报
回复
tociml(镜子): 
可是数据是动态查询出的,一会就消失了,记录它的指针有什么用,应该是记它的值啊。例如:
void test()
{
char *a="test";
Node->Data=(void *)a;
}
当退出test函数时,*a已经被释放了,Data还能记录下它的值吗?
HEROIN 2001-09-21
  • 打赏
  • 举报
回复
for(int i=0;i<Query1->RecordCount;i++)

{
int* data=new int;
*data=Query1->FieldByName("value1")->AsInteger;
TreeView->Items->AddChildObject(ParenrNode,Query1->FieldByName("name1")->AsString,data);

}

ciml 2001-09-20
  • 打赏
  • 举报
回复
关键是要注意data是一个void *的指针,所以你可以放任何数据,但你必须进行类型转换。

比如a是一个int *

Node->Data=(void *)a;
yqing 2001-09-20
  • 打赏
  • 举报
回复
同意ciml(镜子)
LuoGD 2001-09-20
  • 打赏
  • 举报
回复
另一个更可行的方法:(我是这么用的)
把该int数据存入Node->StateIndex中
yidao 2001-09-20
  • 打赏
  • 举报
回复
可以自定义一个结构或数组,把指针赋给Node->Data

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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