星期六, 7月 19, 2008

Asp.Net的TreeView Checked事件

美麗的MIS小姐希望在asp.net的TreeView點選節點時,會自動選取子節點,但TreeView為了不讓畫面一直閃動,所以沒有支援Node裏CheckBox的AutoPostBack。 這種時候,身為閒人的鳥毅當然要幫事務繁忙的MIS小姐找solution,對岸的高手早利用JavaScript與asp.net的Attribute做出來,參考:asp.net TreeView 一些操作

簡單描述一下:在aspx加上

<script language="javascript" type="text/javascript">
function TreeNodeChecked() {
var ele = window.event.srcElement;
if(ele.type=='checkbox')
{
var childrenDivID = ele.id.replace('CheckBox','Nodes');
var div = document.getElementById(childrenDivID);
if(div==null)return;
var checkBoxs = div.getElementsByTagName('INPUT');
for(var i=0;i<checkBoxs.length;i++)
{
if(checkBoxs[i].type=='checkbox')
checkBoxs[i].checked=ele.checked;
}
}
}
}
</script>
在aspx.cs的Page_Load修改為

protected void Page_Load(object sender, EventArgs e)
{
TreeView1.Attributes.Add("onclick", "TreeNodeChecked();");
}


最後,為拉抬人氣,附上美麗的MIS小姐倩影:

1 則留言:

匿名 提到...