你说的是什么控件,比如:treeview吗?

解决方案 »

  1.   

    好吧,就是 用treeview做了一棵树了,要实现的功能就是,先显示第一层节点,点击某一节点后才从数据库中读这个节点下的子节点!
      

  2.   

    那就不能用递归一次性把节点下载下来,需要一层层加载
    参考
    http://msdn.microsoft.com/workshop/webcontrols/overview/treeview.asp
    1、先定义
    dataSet = new DataSet("TREENODETYPES");
    dataTable = new DataTable("TreeNodeType");
    dataSet.Tables.add(dataTable);
    2、点击一个treeNode ,先查询以它为父节点的子节点,结果保存到dataTable中。
    3、用dataSet.GetXml()获得xml。
    4、然后设置treeNode.TreeNodeSrc=xml,
    5、xml的格式应该为:
    <TREENODETYPES>
    <TreeNodeType />
             ...
    </TREENODETYPES>就ok了。
      

  3.   

    观察一下xml的值,若格式不对,就需要
    设置
    treeNode.TreeNodeXsltSrc = "your.xsl"进行样式转换,看一下例子就明白了。
      

  4.   

    关于取数据源,我这里就不讲了。只说一下指定xml和格式转换。
    例一:格式正确时,直接绑定xml
    <mydbtree:treeview runat="server" SystemImagesPath="../images/" AutoPostBack="true">
      <mydbtree:treenode Text="North America" AutoPostBack=true imageurl="./images/root.gif" 
      Expanded="true" TreeNodeSrc="http://localhost/webcontrols/treeview/state_city.xml">
      </mydbtree:treenode>
    </mydbtree:treeview>The state_city.xml file contains the following:
    <TREENODES>
          <treenode Text="Michigan">
             <treenode Text="Detroit" />
             <treenode Text="Farmington" />
             <treenode Text="Southfield" />
          </treenode>
          <treenode Text="Washington" >
             <treenode Text="Bellevue" />
             <treenode Text="Redmond" />
             <treenode Text="Woodinville" />
          </treenode>
    </TREENODES>例二:格式不对时,进行格式转换,请仔细对照两个文件。
    <myxmltree:treeview
      id="tree1"
      runat="server"
      TreeNodeSrc = "nodes.xml"
      TreeNodeXsltSrc = "template.xsl"
    />nodes.xml文件的如下
    注意:
    DataSet ds = new DataSet(“HelpTOC”);
    DataTable dt = new DataTable(“HelpTOCNode”);
    ds.Tables.add(dt);
    string xml=ds.getXml();
    那么
    xml的格式就为:<HelpTOC><HelpTOCNode></HelpTOCNode>......<HelpTOC>
    <?xml version="1.0" ?>
    <HelpTOC>
       <HelpTOCNode Title="Web Sites">
          <HelpTOCNode Title = "Microsoft" Url = "http://www.microsoft.com">
          </HelpTOCNode>
          <HelpTOCNode Title = "MSDN" Url = "http://msdn.microsoft.com">
          </HelpTOCNode>
       </HelpTOCNode>
    </HelpTOC>The template.xsl file contains the following:<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
      <xsl:template match="/">
        <TREENODES>
           <xsl:for-each select="HelpTOC/HelpTOCNode">
       
              <xsl:element name="TreeNode">
      
                 <xsl:attribute name="Text" ><xsl:value-of select="@Title"/></xsl:attribute>
                 <xsl:attribute name="NavigateURL" ><xsl:value-of select="@Url"/></xsl:attribute>
                 <xsl:attribute name="TARGET" >main</xsl:attribute>               <xsl:for-each select="HelpTOCNode">                  <xsl:element name="TreeNode">
                         <xsl:attribute name="Text" ><xsl:value-of select="@Title"/></xsl:attribute>
                         <xsl:attribute name="NavigateURL" ><xsl:value-of select="@Url"/></xsl:attribute>
                         <xsl:attribute name="Target" >main</xsl:attribute>
                      </xsl:element>               </xsl:for-each>
      
               </xsl:element>
            </xsl:for-each>
         </TREENODES>
      </xsl:template>
    </xsl:stylesheet>