http://www.430000.net/printpage.asp?ArticleID=44

解决方案 »

  1.   

    Create three .aspx filesTreeViewDataSet.aspx<%@ import Namespace="Microsoft.Web.UI.WebControls" %>
    <%@ Register TagPrefix="IE" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %><html>
    <head>
    <title>
    TreeViewDataSet.aspx
    </title>
    </head>
    <body>
    <form runat="Server">
    <IE:TreeView
     AutoPostBack="True"
     TreeNodeSrc="Categories.aspx"
     Runat="Server"/>
    </form>
    </body>
    </html>Categories.aspx
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %><Script runat="Server">
    sub page_load
     Dim mycon as SqlConnection
     Dim cmdCategories As SqlCommand
     Dim dsCategories As DataSet
     Dim strQuery As String mycon=New Sqlconnection("Server=localhost;UID=sa;PWD=secret;Database=Northwind")
     strQuery="select categoryname as Text,'products.aspx?catid='
     +LTRIM(STR(CategoryID))" & _
     "As TreeNodeSrc from Categories As TreeNode for xml auto, XMLDATA"
     cmdCategories=new SqlCommand(strQuery,mycon)
     dsCategories=New DataSet
     dsCategories.ReadXML(cmdCategories.ExecuteXmlReader(),XmlReadMode.Fragment)
     dsCategories.DataSetName="TREENODES"
     dsCategories.WriteXml(Response.OutputStream)
    end sub
    </script>Products.aspx
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %><Script runat="Server">
    sub page_load
     Dim mycon as SqlConnection
     Dim cmdProducts As SqlCommand
     Dim dsProducts As DataSet
     Dim strQuery As String mycon=New Sqlconnection("Server=localhost;UID=sa;PWD=secret;Database=Northwind")
     strQuery="select Productname as Text from products As TreeNode" & _
     " where CategoryID=@categoryID for xml auto, XMLDATA "
     cmdproducts=new SqlCommand(strQuery,mycon)
     cmdproducts.Parameters.Add(New SqlParameter("@categoryID",Request.QueryString("catID")))
     mycon.open()
     dsproducts=New DataSet
     dsproducts.ReadXML(cmdproducts.ExecuteXmlReader(),XmlReadMode.Fragment)
     dsproducts.DataSetName="TREENODES"
     dsproducts.WriteXml(Response.OutputStream)
     mycon.close()
    end sub
    </script>
      

  2.   

    做TreeView双击事件:
    http://expert.csdn.net/Expert/topic/945/945320.xml?temp=.3617212<script language="javascript">
    <!--
    function TrvModel_DblClick()
    {
       window.document.VindicateModel.Isdbclick.value="true";
       window.document.VindicateModel.submit();
    }
    -->
    </script><input type="hidden" name="Isdbclick" value="false">
    <iewc:treeview id="trvModel" ondblclick="javascript:TrvModel_DblClick()" style="Z-INDEX: 101; LEFT: 6px; POSITION: absolute; TOP: 14px" runat="server"  Width="216px" Height="158px">
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if (Page.IsPostBack)
    {
    if (Request.Form["Isdbclick"].ToString()=="true")
    {
    trvModel_DblClick();
    }
    }
    }public void trvModel_DblClick()
    {
        ...写你要做的事情就OK了,哈哈
    }
      

  3.   

    设置SelectExpands=true,单击TreeView的节点就打开子节点。
    这个方法简单实惠,^_^
    (个人认为:双击操作不是很复合网页设计概念)