梅花雪TreeView可以绑定XML数据源吗?请给的代码例子......

解决方案 »

  1.   

    可以的,参考这个
    http://community.csdn.net/Expert/topic/4196/4196863.xml?temp=.4593164
    然后调用时稍做修改,如
    <script language="JavaScript" src="MzTreeView10.js"></script>
    <table width="100%" border="0" cellspacing="3" bgcolor="#b8d1f8">
    <tr>
    <td bgcolor="white" valign="top">
    <div id="treeviewarea"></div>
    <SCRIPT LANGUAGE="JavaScript">

              <!--
    var tree = new MzTreeView("tree");
    tree.icons["property"] = "property.gif";
    tree.icons["css"] = "collection.gif";
    tree.icons["book"]  = "book.gif";
    tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片 tree.setIconPath("http://www.meizz.com/Icons/TreeView/"); //可用相对路径
    <%=LoadTree()%>//调用后台数据库方法,产生树
    tree.setURL("default.aspx");
    tree.setTarget("meng");
    document.write(tree.toString());    //亦可用 obj.innerHTML = tree.toString();
    tree.nodeClick = function()
    {
    //debugger;
    //alert(tree.currentNode.id);
    //alert(tree.currentNode.sourceIndex);
    if(tree.currentNode!=null)
    {
    var str=tree.currentNode.sourceIndex;

    var urlLength=tree.nodes[str].indexOf("url");
    var targetLength=tree.nodes[str].indexOf("target");
    var url=tree.nodes[str].substring(urlLength+4,targetLength-1);
    document.getElementById('fMain').src=url;
    //document.getElementById('txturl').value=url;
    }
    }

              //-->
    </SCRIPT>
    </td>
    </tr>
    </table>
    ------------------------------
    protected string LoadTree()
    {
    string sql="select * from DataBase";
    DataSet ds=Document.DataHelper.GetDataSet(sql);
             //把这里的从数据库读取改成从xml读取就可以了,不过数据库结构和xml的结构要相同
    string node="";
    for(int m=0;m<ds.Tables[0].Rows.Count;m++)
    {
    //若是树的条目比较多的时候(比如大于1000)而又相对稳定的时候将这些数据生成静态网页来访问
    node = node + "  tree.nodes["+"\""+ ds.Tables[0].Rows[m]["parentId"].ToString()+"_"+ ds.Tables[0].Rows[m]["id"].ToString()+"\""+"] = ";
    node = node + "\""+"text:"+ ds.Tables[0].Rows[m]["text"].ToString()+";";
    node = node + "hint:"+ds.Tables[0].Rows[m]["hint"].ToString()+";";
    node = node + "icon:"+ds.Tables[0].Rows[m]["icon"].ToString() +";";
    node = node + "data:"+ds.Tables[0].Rows[m]["data"].ToString()+";";
    node = node + "url:"+ds.Tables[0].Rows[m]["url"].ToString()+";";
    node = node + "target:"+ ds.Tables[0].Rows[m]["target"].ToString() +";";
    node = node + "method:"+ ds.Tables[0].Rows[m]["method"].ToString()+"\""+";";
    }
    return node;
    }
      

  2.   

    xml也只是介质 你可以自己分析xml 然后做循环添加TREE节点即可
      

  3.   

    会将XML绑定到一个DataGrid上吗?
    会的话就可以做成一棵树了:
    http://community.csdn.net/Expert/topic/4311/4311087.xml?temp=.3400537