您的位置首页百科问答

repeater 嵌套

repeater 嵌套

的有关信息介绍如下:

repeater 嵌套

我个人觉得,像这种动态树型的结构的东西最好是用TreeView控件来做,这个控件在Microsoft.Web.UI.WebControls中使用如下:页面:先注册<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>接下来:代码部分:声明:protected Microsoft.Web.UI.WebControls.TreeView TreeView1;绑定:放在page_load里bindtree(TreeView1.Nodes);以下三个实现,本来可以写成一个函数,为了便于你理解我分成三个,原理是一样的.private void bindtree(TreeNodeCollection Nds){ string sql="select * from bigclass" DataSet ds=getDataset(sql);//获取DataSet DataView dv=ds.Tables[0].DefaultView; TreeNode tn; string bigclassid; foreach(DataRowView dr in dv) { bigclassid=dr["bigclassid"].ToString();//当前ID if (strID!="") { tn=new TreeNode(); tn.ID=dr["bigclassid"].ToString(); tn.Text=dr["bigclassname"].ToString(); tn.Expanded=true;//是否展开 Nds.Add(tn); bindtree1(Nds[Nds.Count-1].Nodes,bigclassid);//绑定二级 } }}private void bindtree1(TreeNodeCollection Nds , string bigclassid){ string sql="select * from smallclass where bigclassid="+bigclassid; DataSet ds=getDataset(sql);//获取DataSet DataView dv=ds.Tables[0].DefaultView; TreeNode tn; string smallclassid; foreach(DataRowView dr in dv) { smallclassid=dr["smallclassid"].ToString();//当前ID if (smallclassid!="") { tn=new TreeNode(); tn.ID=dr["smallclassid"].ToString(); tn.Text=dr["smallclassname"].ToString(); tn.NavigateUrl=dr["字段3"].ToString(); //如果有链接 //tn.Expanded=true;//是否展开 Nds.Add(tn); bindtree2(Nds[Nds.Count-1].Nodes,smallclassid);//取三级 } }}private void bindtree2(TreeNodeCollection Nds , string smallclassid){ string sql="select * from littleclass where smallclassid="+smallclassid; DataSet ds=getDataset(sql);//获取DataSet DataView dv=ds.Tables[0].DefaultView; TreeNode tn; string littleclassid; foreach(DataRowView dr in dv) { littleclassid=dr["littleclassid"].ToString();//当前ID if (smallclassid!="") { tn=new TreeNode(); tn.ID=dr["littleclassid"].ToString(); tn.Text=dr["littleclassname"].ToString(); tn.NavigateUrl=dr["字段3"].ToString(); //如果有链接 //tn.Expanded=true;//是否展开 Nds.Add(tn); //bindtree3(Nds[Nds.Count-1].Nodes,littleclassid);//如果还有下一级 } }}