使用Ext的树形控件来加载部门信息

代码
 string departmentid = "";
    
string urlPage = "";
    
string paramname = "id";
    
string target = "";
    
protected void Page_Load(object sender, EventArgs e)
    {
        
if (Request.Params["urlPage"!= null)
        { 
            urlPage
=Request.Params["urlPage"].ToString();
        }
        
if (Request.Params["paramname"!= null)
        {
            paramname 
= Request.Params["paramname"].ToString();
        }
        
if (Request.Params["target"!= null)
        {
            target 
= Request.Params["target"].ToString();
        }
        
if (Request.Params["departmentid"!= null)
        {
            departmentid 
= Request.Params["departmentid"].ToString();
        }
        Response.Write(GetNodeString(
"","")+"]");
    }

    
private string GetNodeString(string departmentid,string json)
    {
      
        DepartmentList dl 
= DepartmentList.GetDepartmentList(departmentid, CommonStatusFlag.正常);
        
if (json == "")
        {
            json 
= "[";
        }
        
foreach (DepartmentInfo di in dl)
        {
            
if(json.Substring(json.Length - 11== "[")
            {
                json 
+= "{text:'" + di.Name + "',qtip:'" + di.Name + "',href:'"+ urlPage + "?" + paramname + "="+  di.ID +"',hrefTarget:'"+target+"'";
            }
            
else 
            {
                json 
+= ",{text:'" + di.Name + "',qtip:'" + di.Name + "',href:'" + urlPage + "?" + paramname + "=" + di.ID + "',hrefTarget:'" + target + "'";
            }          
   
            
if (HaveChild(di.ID))
            { 
                json 
+= ",children:[";
                json
=  GetNodeString(di.ID, json) + "]";
                json 
+= "}";
            }
            
else
            {
                json 
+=",leaf:true}";
            }           
        }

        
return json;
    }
    
private bool HaveChild(string departmentid)
    {
        DepartmentList dl 
= DepartmentList.GetDepartmentList(departmentid, CommonStatusFlag.正常);
        
if (dl.Count > 0)
        {
            
return true;
        }
        
return false;
    }

 

调用页面代码

 

代码
    <link type="text/css" rel="stylesheet" href="../ext/resources/css/ext-all.css" />  
    <script language="javascript" type="text/javascript" src="../ext/adapter/ext/ext-base.js"></script>
    <script language="javascript" type="text/javascript" src="../ext/ext-all.js"></script>
    <script language="javascript" type="text/javascript" src="../ext/src/locale/ext-lang-zh_CN.js" ></script>    
    <script language="javascript" type="text/javascript">
                Ext.onReady(
function(){
                        
var urlPage="DepartmentView.aspx"//点击跳转的页面
                          var paramname="id"
                        
var target="";
                        
                     
var tree=new Ext.tree.TreePanel({
                                el:
'tree',
                                loader:
new Ext.tree.TreeLoader({dataUrl:'GetData.aspx?urlPage='+ urlPage + '&paramname='+paramname +'&target='+target })
                            });
                        
var root=new Ext.tree.AsyncTreeNode({
                                id:
'0',                    
                                text:
'部门管理'
                            });
                        
                        tree.setRootNode(root);
                        tree.render();
                        
                        root.expand(
true,false);

                    });        
            
</script>

 

 

posted @ 2010-12-01 20:01  年华倒影  阅读(113)  评论(0)    收藏  举报