在Treeview中,为何得不到我定义的子节点的ID值???只是什么数字而已?为什么???

StudyNet 2003-08-21 04:03:16
代码如下:
Private Sub tv_SelectedIndexChange(ByVal sender As Object, ByVal e As     Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles       tv.SelectedIndexChange
Label1.Text = "You selected node" & e.NewNode.ToString() _
& " and moved from node " & e.OldNode.ToString
End Sub

在Label1上显示的是如“You selected node0.3 and moved from node 0.2 ”,全是零点几,不是我想要的在子节点上定义的ID值,如a1,a2等,为什么??请帮忙??请将代码尽量写全,俺是新手,最好用VB写。
...全文
50 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
StudyNet 2003-08-22
  • 打赏
  • 举报
回复
to: bluemouse_1982(蓝皮鼠)
为什么一定要导入“Microsoft.Web.UI.WebControls”命名空间呀,要不就识别不出 Dim node2 AS TreeNode这句话的,Treeview我是拖到VS.net里的,还用再声明这个命名空间吗???
bluemouse_1982 2003-08-22
  • 打赏
  • 举报
回复
现在的.net studio不是很稳定,有很多bug,我也遇到过很多,可能需要若干版本后才会好点吧。只能说让你试试,毕竟我没看到你的源码,你可以试试:

Dim Dim node1 AS Microsoft.Web.UI.WebControls.TreeNode

如果不行,就重新引用一下Microsoft.Web.UI.WebControls.dll
wacle 2003-08-21
  • 打赏
  • 举报
回复
There are many answers about this topic in csdn.
see:
http://expert.csdn.net/Expert/topic/1525/1525202.xml?temp=.4666559
bluemouse_1982 2003-08-21
  • 打赏
  • 举报
回复
加上命名空间试试:Microsoft.Web.UI.WebControls
StudyNet 2003-08-21
  • 打赏
  • 举报
回复
没人会用VB来写吗???
StudyNet 2003-08-21
  • 打赏
  • 举报
回复
为什么不能声明呀?像
Dim node1 AS TreeNode
Dim node2 AS TreeNode
在我这里语法都通不过呀,说"TreeNode"类型没有声明??
CMIC 2003-08-21
  • 打赏
  • 举报
回复
dim cmicNode as TreeNode=tv.GetNodeFromIndex( e.NewNode );
bluemouse_1982 2003-08-21
  • 打赏
  • 举报
回复
Private Sub tv_SelectedIndexChange(ByVal sender As Object, ByVal e As     Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles       tv.SelectedIndexChange

Dim node1 AS TreeNode
Dim node2 AS TreeNode
node1 = tree.GetNodeFromIndex( e.NewNode )
node2 = tree.GetNodeFromIndex( e.OldNode )

Label1.Text = "You selected node" & node1.ID.ToString() _
& " and moved from node " & node2.ID.ToString
End Sub

VB没用过,所以试着写了一下,不知道行不行,你试试吧
llldreamnew 2003-08-21
  • 打赏
  • 举报
回复
ID值就是这样的,表示从根结点下来的位置关系。
如果想要自己定义的,可以取TreeNode的Text或者NodeData。
StudyNet 2003-08-21
  • 打赏
  • 举报
回复
明白,明白,0.1和0.2什么的是索引值了,但如何得到其ID值呢??用VB写。
bluemouse_1982 2003-08-21
  • 打赏
  • 举报
回复
返回的0.1和0.2是你选中的那个节点的索引值,从根目录算起。

比如0.1,表明现在选中的是第一级的第一个节点下的第二个子节点(有点绕口吧^-^)
图示如下(括号中是索引值):

第一级 第二级 第三级
节点1(0)
子节点1(0.0)
子节点2(0.1)
子节点3(0.2)
子节点1(0.2.0)
子节点2(0.2.1)
子节点3(0.2.2)
节点2(1)

不知道你这样明白了没有?
StudyNet 2003-08-21
  • 打赏
  • 举报
回复
为什么得到的是0.1和0.2这样的ID值呢?如何单击一个节点时就得到该节点的ID值呢?请用VB写,谢谢。
StudyNet 2003-08-21
  • 打赏
  • 举报
回复
各位高手呀,有没有VB的写法呀?等!!!
hgknight 2003-08-21
  • 打赏
  • 举报
回复
不好意思
应该如楼上所说
代码写晕了,顺手写的
StudyNet 2003-08-21
  • 打赏
  • 举报
回复
“TreeNode node”在VB里语法通不过呀,说未声明呀?有没有VB的做法呀?
bluemouse_1982 2003-08-21
  • 打赏
  • 举报
回复
代码如下(C#):

TreeNode node = tree.GetNodeFromIndex( e.NewNode );

tree就是你的TreeView的实例。
StudyNet 2003-08-21
  • 打赏
  • 举报
回复
这是不是C#的写法吧,在VB里语法通不过呀?最好把代码写全了,是我写错了?它说TreeNode没有声明。
hgknight 2003-08-21
  • 打赏
  • 举报
回复
((TreeNode)e.NewNode).ID

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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