标题:TreeView 上的CheckBox 能不能实现单选啊?
只看楼主
ruffianshen
Rank: 1
等 级:新手上路
帖 子:155
专家分:0
注 册:2006-10-31
 问题点数:0 回复次数:4 
TreeView 上的CheckBox 能不能实现单选啊?
TreeView 上的CheckBox 能不能实现单选啊?
搜索更多相关主题的帖子: CheckBox TreeView 
2007-05-15 09:15
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
得分:0 

可以,不過,我認為只能在js中實現,當點擊某個CheckBox時,把其他的所有CheckBox的checked設為false,就行了。


日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-05-15 15:46
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
得分:0 

這下面的方法是我曾經做過的對於TreeView上面的復選框的選中與未選中的操作,你可以看一下,應該可以幫到你。

///xx.  YYYY/MM/DD VER AUTHOR COMMENTS
///=== ========== ========== ========== ==========
///1.   2007/02/02 1.10 Bin Create
///功能說明:點擊某復選框時,使其上的所有父節點復選框皆去除勾選

function TreeNodeCheckedFalse(ele)
{
var obj = document.getElementById(ele.parentNode.parentNode.parentNode.parentNode.parentNode.id.replace('Nodes','CheckBox'));
if(obj!=undefined)
obj.checked=false;
var obj2 = document.getElementById(ele.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id.replace('Nodes','CheckBox'));
if(obj2!=undefined)
obj2.checked=false;
var obj3 = document.getElementById(ele.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id.replace('Nodes','CheckBox'));
if(obj3!=undefined)
obj3.checked=false;
var obj4 = document.getElementById(ele.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id.replace('Nodes','CheckBox'));
if(obj4!=undefined)
obj4.checked=false;
}

// 功能說明:將未選中的復選框全部變為選中

// xx.  YYYY/MM/DD VER AUTHOR COMMENTS
// === ========== ========== ========== ==========
// 1.   2007/02/05 1.00 Bin Create

function funSelectAll()
{
var intLen = document.getElementsByTagName("input").length;
var objA = document.getElementsByTagName("input");
//在所有input控件中循環,當找到checkbox時就做操作

for(var i=0;i<intLen;i++)
{
var objS = objA[i].getAttribute("type");
if(objS=="checkbox")
{
objA[i].checked=true;
}
}
return false;
}


日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-05-15 15:59
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
得分:0 


///xx.  YYYY/MM/DD VER AUTHOR COMMENTS
///=== ========== ========== ========== ==========
///1.   2007/02/02 1.10 Bin Create
///功能說明:點擊根節點的復選框時,使其所有的子節點的復選框皆被勾選

function OnTreeNodeChecked()
{
var ele = event.srcElement;
if(ele.type=='checkbox')
{
var childrenDivID = ele.id.replace('CheckBox','Nodes');
var div = document.getElementById(childrenDivID);
if(div==null)
{
TreeNodeCheckedFalse(ele);
return;
}
var checkBoxs = div.getElementsByTagName('INPUT');
for(var i=0;i<checkBoxs.length;i++)
{
if(checkBoxs[i].type=='checkbox')
checkBoxs[i].checked=ele.checked;
}
if(ele.checked==false)
{
TreeNodeCheckedFalse(ele);
}
}
}


日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-05-15 16:02
梦灵儿
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:260
专家分:9
注 册:2007-8-7
得分:0 

可以...只要一句话就可以了. ///判断用户选择了几个复选框
if (TreeView1.CheckedNodes.Count == 1)
{
foreach (TreeNode tn in TreeView1.CheckedNodes)
{
string nodestext = tn.Text;
string nodesindex = tn.Value;
Response.Write("<script>window.opener.location.href=\"AddEmpRole.aspx?nodevalue=" + nodestext + " &nodesindex=" + nodesindex + "\";</script>");
Response.Write("<script>window.close();</script>");
}
}
else
{
Response.Write("<script>alert('请不要选择多个选项');</script>");
}


2007-08-07 11:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-139468-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.611024 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved