当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 我是今年的计算机专科毕业生,我学了6年的电脑从职业中学一直到大学,学的都是计算机应用。今年的4-6月份都在一家不是it行业的公司做网络管理(熟人介绍的)月薪1200,包吃包住,有社会保险,逢年过节,还有200-300块钱发,据公司的老员工说,到了年终还有2000--5000的奖金发。后来,回学校后,我没有再回那家公司,因为在那家公司都没学到什么,并且觉得很郁闷。同时,我看到我的同学在深圳i......
 ·`    »显示摘要«
    摘要: null ......


为什么我用了这个TreeView的初始化函数后页面上的啥都显示不出来了啊

private     void     InitTree(TreeNodeCollection     Nds,string     parentId)      
  {      
  DataView     dv=new     DataView();      
  TreeNode     tmpNd;      
  string     intId;      
  dv.Table=ds.Tables["tree"];      
  dv.RowFilter="ParentID     =     "+""+parentId+"";    
  Response.Write("NO,");  
  foreach(DataRowView     drv     in     dv)      
  {      
  tmpNd=new   TreeNode();  
  tmpNd.ID=drv["NodeID"].ToString();  
  tmpNd.Text=drv["NodeName"].ToString();  
  if(parentId.Equals("0"))  
  tmpNd.CheckBox=false;  
  else  
  tmpNd.CheckBox=true;  
  Nds.Add(tmpNd);  
  Response.Write(tmpNd.ID+";");  
  intId=Convert.ToInt32(drv["NodeID"]);  
  InitTree(Nds[Nds.Count-1].Nodes,intId);  
  }      
  }      
  我的NodeID和ParentID原来是int型的,后来改成char型的,再后来改成varchar型的,结果发现运行的结果是页面上原有的其他的button,label之类的控件全都显示不出来了,页面却可以把NO,以及tmpNd.ID的值显示出来,我都要疯了,这是怎么回事啊!!!  
  而如果我把这个函数屏蔽掉,运行以后页面上的其他控件还是可以显示出来的。      
  这是函数的问题还是我的数据的问题啊?     还是其他什么问题啊???  
  大虾救命啊!!!

NO.1   作者: letian

试用不用函数生成节点,直接在html中增加节点,看能否正常显示?  
  如果不行的话,请参考:  
  http://expert.csdn.net/Expert/icView1.asp?id=2110636

NO.2   作者: sgsh51

dv.Table=ds.Tables["tree"];      
  这句话有问题,问一句你的ds在哪里给值得,  
  在这个函数中根本就找不到你的ds的值,  
  这样你的函数就处于无限递归中出不来了,  
  当然所有的控件也就显示不出来了

NO.3   作者: bonnie168

数据结构如下:  
  CREATE   TABLE   [dbo].[S_Menu]   (  
    [NodeId]   [char]   (6)   COLLATE   Chinese_PRC_CI_AS   NULL   ,  
    [ParentId]   [char]   (6)   COLLATE   Chinese_PRC_CI_AS   NULL   ,  
    [NodeName]   [nvarchar]   (50)   COLLATE   Chinese_PRC_CI_AS   NULL   ,  
    [Address]   [nvarchar]   (50)   COLLATE   Chinese_PRC_CI_AS   NULL   ,  
    [Icon]   [nvarchar]   (50)   COLLATE   Chinese_PRC_CI_AS   NULL    
  )   ON   [PRIMARY]  
  GO  
   
   
   
  数据库如下:  
  NodeId   ParentId   NodeName   Address     Icon  
  100000   0     公共查询部       icon_document.gif  
  100001   100000     人民币日报查询   public/a1.aspx   icon_settings.gif  
  100002   100000     外币日报查询   public/a2.aspx   icon_settings.gif  
  100003   0     分行科技部       icon_document.gif  
  100004   100003     人民币日报查询   tech/a1.aspx   icon_settings.gif  
  100005   100003     外币日报查询   tech/a2.aspx   icon_settings.gif  
  100006   0     福田支行       icon_document.gif  
  100007   100006     月存款进度表   a1.aspx     icon_settings.gif  
  100008   100006     月存款走势图   a2.aspx     icon_settings.gif  
  100009   0     罗湖支行       icon_document.gif  
  100010   100009     月存款进度表   a1.aspx     icon_settings.gif  
  100011   100009     月存款走势图   a2.aspx     icon_settings.gif  
           
  menu_left.aspx文件如下:  
  <%@   Register   TagPrefix="iewc"   Namespace="Microsoft.Web.UI.WebControls"   Assembly="Microsoft.Web.UI.WebControls,   Version=1.0.2.226,   Culture=neutral,   PublicKeyToken=31bf3856ad364e35"   %>  
  <%@   Page   language="c#"   Codebehind="menu_Left.aspx.cs"   AutoEventWireup="false"   Inherits="hzquery.menu.menu_Left"   %>  
  <HTML>  
    <HEAD>  
      <title>menu_Left</title>  
      <meta   name="GENERATOR"   Content="Microsoft   Visual   Studio   7.0">  
      <meta   name="CODE_LANGUAGE"   Content="C#">  
      <meta   name="vs_defaultClientScript"   content="JavaScript">  
      <meta   name="vs_targetSchema"   content="http://schemas.microsoft.com/intellisense/ie5">  
    </HEAD>  
    <body   MS_POSITIONING="GridLayout">  
      <form   id="menu_Left"   method="post"   runat="server">  
        <iewc:TreeView   id="tvMenu"   runat="server"></iewc:TreeView>  
      </form>  
    </body>  
  </HTML>  
   
   
   
  CodeBehind代码如下:  
  using   System;  
  using   System.Collections;  
  using   System.ComponentModel;  
  using   System.Data;  
  using   System.Drawing;  
  using   System.Web;  
  using   System.Web.SessionState;  
  using   System.Web.UI;  
  using   System.Web.UI.WebControls;  
  using   System.Web.UI.HtmlControls;  
  using   Microsoft.Web.UI.WebControls;  
  using   System.Data.SqlClient;  
   
   
   
  namespace   hzquery.menu  
  {  
    ///   <summary>  
    ///   menu_Left   的摘要说明。  
    ///   </summary>  
    public   class   menu_Left   :   System.Web.UI.Page  
    {  
      protected   Microsoft.Web.UI.WebControls.TreeView   tvMenu;  
      SqlConnection   Conn;  
      SqlDataAdapter   myCmd;  
      DataSet   ds;  
      string   cmdSelect;  
   
   
   
      private   void   Page_Load(object   sender,   System.EventArgs   e)  
      {  
        Conn=new   SqlConnection(Application["ConnString"].ToString());  
        CreateDataSet();  
        InitTree(tvMenu.Nodes,"0");  
      }  
      //建立数据集  
      private   DataSet   CreateDataSet()  
      {  
        cmdSelect="select   *   from   S_Menu";  
        myCmd=new   SqlDataAdapter(cmdSelect,Conn);  
        ds=new   DataSet();  
        myCmd.Fill(ds,"tree");  
        return   ds;  
      }  
      //建树的基本思路是:从根节点开始递归调用显示子树    
                    private   void   InitTree(TreeNodeCollection   Nds,string   parentId)  
      {  
        DataView   dv=new   DataView();  
        TreeNode   tmpNd;  
        string   intId;  
        dv.Table=ds.Tables["tree"];  
        dv.RowFilter="ParentId=""   +   parentId   +   """   ;  
        foreach(DataRowView   drv   in   dv)  
        {  
          tmpNd=new   TreeNode();  
          tmpNd.ID=drv["NodeId"].ToString();  
          tmpNd.Text=drv["NodeName"].ToString();  
          tmpNd.ImageUrl="../images/"+drv["Icon"].ToString();  
          tmpNd.NavigateUrl="../"+drv["Address"].ToString();  
          Nds.Add(tmpNd);  
          intId=drv["ParentId"].ToString();  
          InitTree(tmpNd.Nodes,tmpNd.ID);  
        }  
      }  
   
   
   
      #region   Web   Form   Designer   generated   code  
      override   protected   void   OnInit(EventArgs   e)  
      {  
        InitializeComponent();  
        base.OnInit(e);  
      }  
      private   void   InitializeComponent()  
      {          
        this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
   
   
      }  
      #endregion  
    }  
  }  
 

NO.4   作者: dreammer

会不会是TreeView中有结点个数的限制啊???


    摘要: 如题 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE