如何获取TreeView点击的值加上其父节点直到根节点的值.
比如我有这样一个TreeView根节点1----父节点1------子节点1|---父节点2------子节点2|-----子节点3现在我点击了子节点3.我需要得到一个字...
比如我有这样一个TreeView
根节点1----父节点1------子节点1
|---父节点2------子节点2
|-----子节点3
现在我点击了子节点3.我需要得到一个字符串为:根节点1父节点2子节点3
如何可以做到.
我点击一个任意一个节点,然后点一个查询按钮,获取到此节点到根节点的所有节点字符串相加的一个字符串啊. 展开
根节点1----父节点1------子节点1
|---父节点2------子节点2
|-----子节点3
现在我点击了子节点3.我需要得到一个字符串为:根节点1父节点2子节点3
如何可以做到.
我点击一个任意一个节点,然后点一个查询按钮,获取到此节点到根节点的所有节点字符串相加的一个字符串啊. 展开
4个回答
展开全部
用Node.FullPah,可以得到一个字符串,如:根节点/1父节点2/子节点3,你可以对这个字符串替换字符。另外,“/"是自己设定的,通过TreeView的PathSeparator属性设置,你设置为空字符串,得到的FullPath就没有斜杠了。
TreeView tv ;
public X(){
tv = new TreeView();
tv.Click += new EventHandler(tv_Click);
}
void tv_Click(object sender , EventArgs e) {
if(tv.SelectedNode!=null)
//..
}
TreeView tv ;
public X(){
tv = new TreeView();
tv.Click += new EventHandler(tv_Click);
}
void tv_Click(object sender , EventArgs e) {
if(tv.SelectedNode!=null)
//..
}
网易云信
2023-12-06 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
展开全部
当然可以,每一个节点treenode都有一个属性Parent,它表示为上层节点,根节点由于没有父节点,所以Parent为none
那么:任何一个Treenode--selectNode(暂且记为)那么所有的串联:
string str="";
TreeNode parentNode = selectNode.Parent;
while(parentNode!=null)
{
str=parentNode.Text+str;
parentNode = parentNode.Parent;
}
//最后的str就是你要的,注意当循环次数不定时,可用while循环。
这个问题:还有另外的解法:TreeNode.Level你好好看看帮助。
那么:任何一个Treenode--selectNode(暂且记为)那么所有的串联:
string str="";
TreeNode parentNode = selectNode.Parent;
while(parentNode!=null)
{
str=parentNode.Text+str;
parentNode = parentNode.Parent;
}
//最后的str就是你要的,注意当循环次数不定时,可用while循环。
这个问题:还有另外的解法:TreeNode.Level你好好看看帮助。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Node.FullPah,可以得到一个字符串,如:根节点/1父节点2/子节点3,你可以对这个字符串替换字符。另外,“/"是自己设定的,通过TreeView的PathSeparator属性设置,你设置为空字符串,得到的FullPath就没有斜杠了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先写一个JS展开的。
<script language="javascript">
//checkbox点击事件
function OnCheckEvent(){
var objNode = event.srcElement;
if(objNode.tagName != "INPUT" || objNode.type != "checkbox")
return;
//获得当前树结点
var ck_ID = objNode.getAttribute("ID");
var node_ID = ck_ID.substring(0,ck_ID.indexOf("CheckBox")) + "Nodes";
var curTreeNode = document.getElementById(node_ID);
//级联选择
SetChildCheckBox(curTreeNode,objNode.checked);
SetParentCheckBox(objNode);
};
//子结点字符串
var childIds = "";
//获取子结点ID数组
function GetChildIdArray(parentNode){
if (parentNode == null)
return;
var childNodes = parentNode.children;
var count = childNodes.length;
for(var i = 0;i < count;i ++){
var tmpNode = childNodes[i];
if(tmpNode.tagName == "INPUT" && tmpNode.type == "checkbox"){
childIds = tmpNode.id + ":" + childIds;
}
GetChildIdArray(tmpNode);
}
};
//设置子结点的checkbox
function SetChildCheckBox(parentNode,checked){
if(parentNode == null)
return;
var childNodes = parentNode.children;
var count = childNodes.length;
for(var i = 0;i < count;i ++){
var tmpNode = childNodes[i];
if(tmpNode.tagName == "INPUT" && tmpNode.type == "checkbox"){
tmpNode.checked = checked;
}
SetChildCheckBox(tmpNode,checked);
}
};
//设置父结点的checkbox
function SetParentCheckBox(childNode){
if(childNode == null)
return;
if (childNode.tagName != 'INPUT' || childNode.type != 'checkbox')
return;
var parent = childNode.parentNode;
if(parent == null || parent == "undefined")
return;
do {
parent = parent.parentNode;
} while (parent && parent.tagName != "DIV");
if(parent == "undefined" || parent == null)
return;
var parentId = parent.getAttribute("ID");
var objParent = document.getElementById(parentId);
childIds = "";
GetChildIdArray(objParent);
//判断子结点状态
childIds = childIds.substring(0,childIds.length - 1);
var aryChild = childIds.split(":");
var result = false;
//当子结点的checkbox状态有一个为true,其父结点checkbox状态即为true,否则为false
for(var i in aryChild){
var childCk = document.getElementById(aryChild[i]);
if(childCk.checked)
result = true;
}
parentId = parentId.replace("Nodes","CheckBox");
var parentCk = document.getElementById(parentId);
if(parentCk == null)
return;
if(result)
parentCk.checked = true;
else
parentCk.checked = false;
SetParentCheckBox(parentCk);
};
</script>
代码:
连接数据库,绑定数据源
<script language="javascript">
//checkbox点击事件
function OnCheckEvent(){
var objNode = event.srcElement;
if(objNode.tagName != "INPUT" || objNode.type != "checkbox")
return;
//获得当前树结点
var ck_ID = objNode.getAttribute("ID");
var node_ID = ck_ID.substring(0,ck_ID.indexOf("CheckBox")) + "Nodes";
var curTreeNode = document.getElementById(node_ID);
//级联选择
SetChildCheckBox(curTreeNode,objNode.checked);
SetParentCheckBox(objNode);
};
//子结点字符串
var childIds = "";
//获取子结点ID数组
function GetChildIdArray(parentNode){
if (parentNode == null)
return;
var childNodes = parentNode.children;
var count = childNodes.length;
for(var i = 0;i < count;i ++){
var tmpNode = childNodes[i];
if(tmpNode.tagName == "INPUT" && tmpNode.type == "checkbox"){
childIds = tmpNode.id + ":" + childIds;
}
GetChildIdArray(tmpNode);
}
};
//设置子结点的checkbox
function SetChildCheckBox(parentNode,checked){
if(parentNode == null)
return;
var childNodes = parentNode.children;
var count = childNodes.length;
for(var i = 0;i < count;i ++){
var tmpNode = childNodes[i];
if(tmpNode.tagName == "INPUT" && tmpNode.type == "checkbox"){
tmpNode.checked = checked;
}
SetChildCheckBox(tmpNode,checked);
}
};
//设置父结点的checkbox
function SetParentCheckBox(childNode){
if(childNode == null)
return;
if (childNode.tagName != 'INPUT' || childNode.type != 'checkbox')
return;
var parent = childNode.parentNode;
if(parent == null || parent == "undefined")
return;
do {
parent = parent.parentNode;
} while (parent && parent.tagName != "DIV");
if(parent == "undefined" || parent == null)
return;
var parentId = parent.getAttribute("ID");
var objParent = document.getElementById(parentId);
childIds = "";
GetChildIdArray(objParent);
//判断子结点状态
childIds = childIds.substring(0,childIds.length - 1);
var aryChild = childIds.split(":");
var result = false;
//当子结点的checkbox状态有一个为true,其父结点checkbox状态即为true,否则为false
for(var i in aryChild){
var childCk = document.getElementById(aryChild[i]);
if(childCk.checked)
result = true;
}
parentId = parentId.replace("Nodes","CheckBox");
var parentCk = document.getElementById(parentId);
if(parentCk == null)
return;
if(result)
parentCk.checked = true;
else
parentCk.checked = false;
SetParentCheckBox(parentCk);
};
</script>
代码:
连接数据库,绑定数据源
追问
这个只是绑定的CheckBox然后使我点击一个节点然后其父节点也呈选取状态啊.怎样得到字符串啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询