电竞比分网-中国电竞赛事及体育赛事平台

分享

TreeView返回節(jié)點(diǎn)值的方法

 liuqg 2006-03-18


我在做一個(gè)文章管理系統(tǒng)的時(shí)候,想實(shí)現(xiàn)文章類無(wú)限分級(jí),為方便呈現(xiàn),就決定采用TreeView控件,所以需要將TreeView控件將數(shù)據(jù)庫(kù)結(jié)合起來,動(dòng)態(tài)讀入節(jié)點(diǎn),這一步我參照署名為gbvnis高手寫的一段vb.net的程序修改成c#版,很快實(shí)現(xiàn),他采用一個(gè)第歸的方法,逐步讀出每個(gè)節(jié)點(diǎn),下面是我c#的初始化樹程序
ivate void intiTree(TreeNodeCollection Nds,int parentId)
  {
   DataSet ds=new DataSet();
   ds=eharbor.DataAccess.dataSet(sql0);//我有一個(gè)單獨(dú)的數(shù)據(jù)訪問類eharbor.DataAccess,
DataView dv=new DataView();
   TreeNode tmpNd;
   int intId;
   dv.Table=ds.Tables[0];
      dv.RowFilter="atc_sup_id="+parentId+"";break;
   
   foreach(DataRowView drv in dv)
   { 
    tmpNd=new TreeNode();
      tmpNd.ID=drv["atc_id"].ToString();
      tmpNd.Text=drv["atc_name"].ToString();
      tmpNd.ImageUrl="adimg/filder.gif";
       intId=Convert.ToInt32(tmpNd.ID);
    Nds.Add(tmpNd);
    intiTree(Nds[Nds.Count-1].Nodes,intId);
   }
  
  }
方便的實(shí)現(xiàn)了讀入樹,但實(shí)現(xiàn)返回節(jié)點(diǎn)值卻費(fèi)了我好大功夫,去網(wǎng)上搜相關(guān)內(nèi)容,也沒找到,但最后還是讓我給蒙出來了,原來TreeView的SelectedNodeIndex返回的根節(jié)點(diǎn)值是0,1,2這樣的,但子節(jié)點(diǎn)是0.1,0.0.1,這樣的,這樣怎么能采用TreeView.Nodes[SelectedNodeIndex].Text返回呢?我束手無(wú)策。去論壇發(fā)帖求助也沒能解決,傍晚的時(shí)候,我突然想到是不是這樣,子節(jié)點(diǎn)TreeVIew.Nodes[i].Nodes[i]......,一試果然,我高興又無(wú)奈,就這樣一個(gè)小而簡(jiǎn)單的問題費(fèi)了我一整天功夫,下面是我用循環(huán)的方法返回節(jié)點(diǎn)值的程序
private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
 
  {
     string[] aa=e.NewNode.Split(‘.‘);
    int[] incount=new int[20];// 分類不能超過20級(jí),這里算是個(gè)缺陷吧,要么就要再循環(huán)一遍重新計(jì)一次數(shù)。
    int i=0;
    TreeNode temp=new TreeNode();;
    foreach(string s in aa)
    {
     incount[i]=Convert.ToInt32(s);
     i++;
    }
    temp=this.TreeView1.Nodes[incount[0]];
    for(int j=1;j<i;j++)
    {   
     temp=temp.Nodes[incount[j]];
 }
 this.tx_a.Text=temp.Text;

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多