第一步:Scripts/BudBox.js Scripts.rar里面包含了JQURY和 BudBox.JS
第二步:添加引用和CSS javascript的引用
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="Scripts/BudBox.js" type="text/javascript"></script>
<script type="text/javascript">
function showBox() {
$("#showBOX").BuddyBox("#Div_show", { autoHide: true }, "showBOX", "0");
$("#showBOX").pbShow();
}
function showBox2() {
$("#txtAssetType").BuddyBox("#Dive_show2", { autoHide: true }, "txtAssetType", "0");
$("#txtAssetType").pbShow();
}
function test(obj) {
var Div_show = document.getElementById("Div_show");
var obj_all = Div_show.getElementsByTagName("INPUT");
for (i = 0; i < obj_all.length; i++) {
if (obj_all[i].type == "checkbox")
if (obj_all[i].checked == true) {
// alert(obj_all[i].nextSibling.innerText);target
var deptid = deptid + "," + obj_all[i].nextSibling.target
document.cookie = "deptid=" + deptid;
// alert(obj_all[i].nextSibling.target)
}
}
}
function test1() {
var obj_all = document.getElementsByTagName("INPUT");
for (i = 0; i < obj_all.length; i++) {
if (obj_all[i].type == "checkbox") {
obj_all[i].nextSibling.href = "closehidden.html";
// alert(obj_all[i].nextSibling.target)
}
}
}
function deptType(obj) {
var Div_show = document.getElementById("Dive_show2");
var obj_all = Div_show.getElementsByTagName("INPUT");
for (i = 0; i < obj_all.length; i++) {
if (obj_all[i].type == "checkbox")
if (obj_all[i].checked == true) {
// alert(obj_all[i].nextSibling.innerText);target
var deptid = deptid + "," + obj_all[i].nextSibling.target
document.cookie = "deptTypeId=" + deptid;
// alert(obj_all[i].nextSibling.target)
}
}
}
function deptType2() {
var obj_all = document.getElementsByTagName("INPUT");
for (i = 0; i < obj_all.length; i++) {
if (obj_all[i].type == "checkbox") {
obj_all[i].nextSibling.href = "closehidden.html";
// alert(obj_all[i].nextSibling.target)
}
}
}
function checkParent(obj) {
while (obj != null) {
var tagName = obj.tagName.toLowerCase();
if (tagName == "div" && obj.id == "TreeView1") {
return;
}
if (tagName == "table") {
var checkBox = obj.getElementsByTagName("INPUT");
if (checkBox.length > 0) {
checkBox[0].checked = true;
document.getElementsByTagName("TextBox2").value = checkBox[0].nextSibling.innerText + "," + document.getElementsByTagName("TextBox2").value;
document.cookie = "TextBox2=" + escape(document.getElementsByTagName('TextBox2').value);
return;
}
obj = obj.parentElement.previousSibling;
}
else
obj = obj.parentElement;
}
}
function client_OnTreeNodeChecked() {
var obj = window.event.srcElement;
var treeNodeFound = false;
var checkedState;
if (obj.tagName == "INPUT" && obj.type == "checkbox") {
var treeNode = obj;
checkedState = treeNode.checked;
if (checkedState) {
checkParent(obj);
}
do {
obj = obj.parentElement;
}
while (obj.tagName != "TABLE")
var parentTreeLevel = obj.rows[0].cells.length;
var parentTreeNode = obj.rows[0].cells[0];
var tables = obj.parentElement.getElementsByTagName("TABLE");
var numTables = tables.length
if (numTables >= 1) {
for (i = 0; i < numTables; i++) {
if (tables[i] == obj) {
treeNodeFound = true;
i++;
if (i == numTables) {
return;
}
}
if (treeNodeFound == true) {
var childTreeLevel = tables[i].rows[0].cells.length;
if (childTreeLevel > parentTreeLevel) {
var cell = tables[i].rows[0].cells[childTreeLevel - 1];
var inputs = cell.getElementsByTagName("INPUT");
inputs[0].checked = checkedState;
}
else {
return;
}
}
}
}
}
}
window.onload = function () {
return test1()
}
</script>
<style type="text/css">
.test
{
background-color: #FFFFFF;
overflow: auto;
padding: 10px 8px 6px;
border: 1px solid #cccccc;
margin-bottom: 10px;
filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#FFFFFF,endColorStr=#B1D5FB); /*IE6*/
background: -moz-linear-gradient(top,#5F90BF,#5F90BF); /*非IE6的其它*/
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#5F90BF), to(#5F90BF)); /*非IE6的其它*/
}
.style1
{
color: #FFFFFF;
}
</style>
第三步:程序里添加TEXTBOX
<asp:TextBox ID="showBOX" runat="server" onclick="showBox()" Width="114px" Text="---请选择---"></asp:TextBox> <div id="Div_show" style="display: none; width: 102px; height: 80px" class="test"> <asp:TreeView ID="TreeView1" runat="server" onclick="javascript:client_OnTreeNodeChecked();" NodeIndent="10" ShowCheckBoxes="All" ShowLines="True"> </asp:TreeView> </div>
第四步:后台绑定TREE的绑定代码如:
protected void Page_Load(object sender, EventArgs e) { if (TreeView1.Nodes.Count == 0) { BindTreeView(TreeView1); } if (TreeView2.Nodes.Count == 0) { BindTreeViewByDeptTypeId(TreeView2); } } //tree1
private void BindTreeView(TreeView treeview) { //创建第一级树 使用店 SqlDataReader dr = Maticsoft.DBUtility.DbHelperSQL.ExecuteReader("SELECT * FROM mDepartment where len(DeptId)=2 "); if (dr.HasRows) { while (dr.Read()) { TreeNode rootNode = new TreeNode(); rootNode.Value = dr["DeptId"].ToString(); rootNode.Text = dr["DeptName"].ToString(); rootNode.Target = dr["DeptId"].ToString(); rootNode.NavigateUrl = dr["DeptId"].ToString(); rootNode.SelectAction = TreeNodeSelectAction.Expand;//单击节点展开字节点 rootNode.Expanded = false; treeview.Nodes.Add(rootNode); } } } //tree2 private void BindTreeViewByDeptTypeId(TreeView treeview) { //创建第一级树 资产类型 SqlDataReader dr = Maticsoft.DBUtility.DbHelperSQL.ExecuteReader("SELECT * FROM mAssetType where SUBSTRING(AssetTypeId,1,4)=0103 and LEN(AssetTypeId)=6"); if (dr.HasRows) { while (dr.Read()) { TreeNode rootNode = new TreeNode(); rootNode.Value = dr["AssetTypeId"].ToString(); rootNode.Text = dr["AssetTypeName"].ToString(); rootNode.Target = dr["AssetTypeId"].ToString(); rootNode.NavigateUrl = dr["AssetTypeId"].ToString(); rootNode.SelectAction = TreeNodeSelectAction.Expand;//单击节点展开字节点 rootNode.Expanded = false; treeview.Nodes.Add(rootNode); } } } //tree1的子节点
private void CreateChildNode(TreeNode parentNode) { //创建第二级树 保管课别 string parentNodeValue = parentNode.Value; SqlDataReader dr = Maticsoft.DBUtility.DbHelperSQL.ExecuteReader("SELECT * FROM [AffairMS].[dbo].[mDepartment] where SUBSTRING(DeptId,1,2)='" + parentNodeValue + "' and LEN(DeptId)=6 "); if (dr.HasRows) { while (dr.Read()) { TreeNode rootNode = new TreeNode(); rootNode.Value = dr["DeptId"].ToString(); rootNode.Text = dr["DeptName"].ToString(); rootNode.Target = dr["DeptId"].ToString(); rootNode.NavigateUrl = dr["DeptId"].ToString(); rootNode.Expanded = false; parentNode.ChildNodes.Add(rootNode); } } }