[求助]如何知道点击的TreeView控件Node所在的行? 根据节点索引,所谓第几个节点,与table的行索引一致 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先,你的TREEVIEW是一层吗?如果是,用INDEX直接判断就行了treeview1.nodes(ii)如果不是,那就需要写一个TREENODE类,因为你的TEXT又不是唯一的。需要设置一个关键字判断。 nodes.tag存一些有用的数据,比如行号等。选中时取出判断即可。 你可以用treeView.AfterSelect()这个事件的。你用e.Nodes.Name来取得它的Name,然后如果有相同的,你可以再取它的Parent的Name。一直取,它总会有不相同的。当然这是最笨的一种方法,而我也只会用这一种。 MouseDown事件中用GetNodeAt()获得节点。To 因为NodeName不是唯一的,我该如何才能实现,当我点击某一节点时,对应的图片要跟着显示用节点的Tag保存图片的ID获唯一标示,那么用前面获得节点,得到其Tag,再进行显示。 赞成cocosoft(pengyun)的做法得到唯一的节点后就可以得到对应的图片了 我现在的解决方法是:在建树时,TreeNode.Tag=节点唯一ID;然后在treeView.AfterSelect()这个事件中用如下代码:int row=0;foreach(DataRow dr in dataSet.Tables["tree"].Rows ){ string nodeID=dr["NodeID"].ToString().Trim(); string selectNodeID=treeView.SelectedNode.Tag.ToString().Trim(); if (nodeID==selectNodeID) { myBindTree.Position=row; break; } row++;}不知道哪位大侠有更简单的方法,说实在的,我真的不想用循环来实现 DataView dv=table.Copy().DeFaultView();dv.RowFilter="nodeid='" + treeView.SelectedNode.Tag.ToString().Trim() + "'";myBindTree.Position=dv.item[0]; 楼上的,DefaultView是属性而不是方法。我treeView.AfterSelect()这个事件中用如下代码:DataView dv=dataSet.Tables["tree"].Copy().DefaultView();dv.RowFilter="NodeID='"+this.treeView.SelectedNode.Tag.ToString().Trim()+"'";myBindTree.Position=dv.item[0];但是dv没有item这个属性,为是为什么呀 对不起,错了,是:DataView dv=table.Copy().DeFaultView;dv.RowFilter="nodeid='" + treeView.SelectedNode.Tag.ToString().Trim() + "'";myBindTree.Position=dv[0]; treeview中不是有treeview.SelectedNode.ID或其它的属性,ID值可为文件的名称或地址。另treeview中的INdex编号为父节点编号.父节点编号.本节点编号,如0.2.4表示第一个节点的第二个子节点的第四个子节点。给点分吧!! to :sneak(sneak) 没关系,到时一定有。to:lx1920(我思故我在) 可以讲一下你的思路吗,我特别不明白yBindTree.Position=dv[0];这句话中的dv[0]到底是什么意思呀 to:lx1920(我思故我在) dv[0]的值 为:"System.Data.DataRowView" 如何在ashx文件中定义全局变量?在线等~ 传参数 c# 怎么获得网页路径? 多列子查询少了个','号 C#删除记录提示对话框 .net web.config错误问题,求各路搞手帮个,不分不够再加, 菜鸟寻求解决方案 散分,问问题,今天看了很多的帖子都是说版主删帖子的(JAVA/C版的),非常不爽 我的visual studio 2010怎么不能使用Graphics啊? 各位会水晶报表的大侠,海波看进来哈!!!求救啊!!! 怎么写存储过程?有没有具体的代码? 如何得到点击的行号
如果是,用INDEX直接判断就行了treeview1.nodes(ii)
如果不是,那就需要写一个TREENODE类,因为你的TEXT又不是唯一的。需要设置一个关键字判断。
你用e.Nodes.Name来取得它的Name,然后如果有相同的,你可以再取它的Parent的Name。一直取,它总会有不相同的。
当然这是最笨的一种方法,而我也只会用这一种。
用节点的Tag保存图片的ID获唯一标示,那么用前面获得节点,得到其Tag,再进行显示。
得到唯一的节点后就可以得到对应的图片了
在建树时,TreeNode.Tag=节点唯一ID;
然后在treeView.AfterSelect()这个事件中用如下代码:
int row=0;
foreach(DataRow dr in dataSet.Tables["tree"].Rows )
{
string nodeID=dr["NodeID"].ToString().Trim();
string selectNodeID=treeView.SelectedNode.Tag.ToString().Trim();
if (nodeID==selectNodeID)
{
myBindTree.Position=row;
break;
}
row++;
}不知道哪位大侠有更简单的方法,说实在的,我真的不想用循环来实现
dv.RowFilter="nodeid='" + treeView.SelectedNode.Tag.ToString().Trim() + "'";
myBindTree.Position=dv.item[0];
我treeView.AfterSelect()这个事件中用如下代码:
DataView dv=dataSet.Tables["tree"].Copy().DefaultView();
dv.RowFilter="NodeID='"+this.treeView.SelectedNode.Tag.ToString().Trim()+"'";
myBindTree.Position=dv.item[0];
但是dv没有item这个属性,为是为什么呀
DataView dv=table.Copy().DeFaultView;
dv.RowFilter="nodeid='" + treeView.SelectedNode.Tag.ToString().Trim() + "'";
myBindTree.Position=dv[0];
另treeview中的INdex编号为父节点编号.父节点编号.本节点编号,如0.2.4表示第一个节点的第二个子节点的第四个子节点。
给点分吧!!
没关系,到时一定有。to:lx1920(我思故我在)
可以讲一下你的思路吗,我特别不明白yBindTree.Position=dv[0];这句话中的dv[0]到底是什么意思呀
dv[0]的值 为:"System.Data.DataRowView"