对于treeview多层节点下,新增的节点怎样为打开?

ntcxh 2005-03-02 04:09:49
对于treeview多层节点下,新增的一个节点,怎么才能将其处于打开状态?并可编辑文本。
对于与数据库相连的treeview,当新增一节点后,怎样才能使当鼠标移动到刚新增的节点时,数据库就能够移动到刚新增的相应记录?多谢!
...全文
119 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ntcxh 2005-03-03
  • 打赏
  • 举报
回复
TTreeNode *myselect,*mynode;
myselect = Form1->TreeView1->Selected;
int nodeindex = pmyrec(myselect->Data)->id;
mynode = Form1->TreeView1->Items->AddChild(myselect,"新建目录");
myselect->Expand(true); //or true 展开
mynode->EditText(); //设置编辑状态


Form1->ADOQuery1->Append();
Form1->ADOQuery1->FieldByName("pid")->Value = nodeindex;
Form1->ADOQuery1->FieldByName("name")->Value = mynode->Text;
Form1->ADOQuery1->Post();
Form1->ADOQuery1->Active = false;
Form1->ADOQuery1->Active = true;

对于以上代码本人想在新增节点后,并编辑后再存入数据库,可是并未能如此,而是新增后就自动加入了数据库。
Friecin 2005-03-02
  • 打赏
  • 举报
回复
TreeNode *Node = TreeView->Items->Add(";asdkfj",NULL );
Node->Expand(false); //or true 展开
Node->EditText()(); //设置编辑状态

////////////////////////
怎样才能使当鼠标移动到刚新增的节点时,数据库就能够移动到刚新增的相。。。

需要编辑TreeView->OnChange事件,例子:
void __fastcall TForm::TreeViewChange( )
{
ADOQuery->SQL->Text = "Select * from Table WHERE 你的字段='" + TreeView->Selected->Text + "'";
ADOQuery->Open();
}

Maconel 2005-03-02
  • 打赏
  • 举报
回复
TreeNode有一个方法是Expand,它的作用就是展开这个节点。
比如展开treeview下的一个节点:

//展开这个节点,但是不展开这个节点的子节点
TreeView1->Items->Item[2]->Expand(false);

//展开这个节点,同时展开这个节点下的所有子节点
TreeView1->Items->Item[2]->Expand(true);

13,825

社区成员

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

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