如何将treeview的一个递归调用方法改成checkboxlist的递归调用方法??????
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
InitTreeView(this.TreeView1.Nodes);//初始化数据控件
}
public void InitTreeView(TreeNodeCollection node)
{
this.InitTree(node, "0");
}
public void InitTree(TreeNodeCollection Nds, string parentId)
{
string connstr = ConfigurationManager.ConnectionStrings["testconn"].ConnectionString;
SqlConnection conn = new SqlConnection(connstr);
DataSet ds = new DataSet();
string sql = "select * from yn_news_class";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
sda.Fill(ds, "table");
DataView dv = new DataView();
TreeNode tmpNd;
string intId;
dv.Table = ds.Tables[0];
dv.RowFilter = "PARENTID = '" + parentId + "'";
foreach (DataRowView drv in dv)
{
tmpNd = new TreeNode();
tmpNd.Value = drv["ClassID"].ToString();
//if (drv["linkUrL"].ToString().Trim() != "")
//{
// tmpNd.Text = "<a href ='" + drv["linkUrL"].ToString().Trim() + "'target='mainFrame'>" + drv["NODENAME"].ToString() + "</a>";
//}
//else
//{
tmpNd.Text = drv["ClassCName"].ToString();
//}
Nds.Add(tmpNd);
intId = drv["PARENTID"].ToString();
InitTree(tmpNd.ChildNodes, tmpNd.Value);
}
}
}
这个是treeview的
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections;
using System.Data.SqlClient;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//InitTreeView(this.TreeView1.Nodes);//初始化数据控件
InitCheckBoxList(this.CheckBoxList1.Items);//初始化数据控件
}
//public void InitTreeView(TreeNodeCollection node)
//{
// this.InitTree(node, "0");
//}
public void InitCheckBoxList(CheckBoxList item)
{
this.InitCheck(item, "0");
}
public void InitCheck(CheckBoxList Nds, string parentId)
{
string connstr = ConfigurationManager.ConnectionStrings["testconn"].ConnectionString;
SqlConnection conn = new SqlConnection(connstr);
DataSet ds = new DataSet();
string sql = "select * from yn_news_class";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
sda.Fill(ds, "table");
DataView dv = new DataView();
ListItem tmpNd;
string intId;
dv.Table = ds.Tables[0];
dv.RowFilter = "PARENTID = '" + parentId + "'";
foreach (DataRowView drv in dv)
{
tmpNd = new ListItem();
tmpNd.Value = drv["ClassID"].ToString();
//if (drv["linkUrL"].ToString().Trim() != "")
//{
// tmpNd.Text = "<a href ='" + drv["linkUrL"].ToString().Trim() + "'target='mainFrame'>" + drv["NODENAME"].ToString() + "</a>";
//}
//else
//{
tmpNd.Text = drv["ClassCName"].ToString();
//}
Nds.Add(tmpNd);
intId = drv["PARENTID"].ToString();
InitCheck(tmpNd.ChildNodes, tmpNd.Value);
}
}
}
这个是修改后的checkboxlist的