public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataView dv = drv("select * from bid");//声明一个视图,调用drv方法、
foreach (DataRowView datatav in dv)
{
//循环数据视图,将对应的值交给一个节点对象,然后添加到树上有继续添加。迭代数据视图的所有行。
TreeNode tn = new TreeNode(); //实例化一个节点对象
tn.Text = datatav["title"].ToString();//给tn添加text属性
tn.Value = datatav["bid"].ToString();//给tn添加value属性
tn.Expanded = false; //设置当前节点是折叠还是展开,这里设为折叠。
TreeView1.Nodes.Add(tn); //把已经填充好的节点对象填充到 TreeView1树中去
AddchildNodes(tn); }
}
}
private DataView drv(string query)
{
//根据传来的字符串返回一个数据视图
string connstr = ConfigurationManager.ConnectionStrings["testconn"].ConnectionString;
SqlConnection con = new SqlConnection(connstr);
SqlDataAdapter sda = new SqlDataAdapter(query,con);
DataSet ds = new DataSet();
sda.Fill(ds,"tree");
return ds.Tables["tree"].DefaultView; }
private void AddchildNodes(TreeNode tn)
{//填充二级节点,它需要一级节点的value,所以干脆送一个完整的根节点对象。
int bid = Convert.ToInt32(tn.Value);
DataView dv = drv("select * from class where bid='"+bid+"'");
foreach (DataRowView datav in dv)
{
TreeNode ctn = new TreeNode();
ctn.Text = datav["title"].ToString();
ctn.Value = datav["cid"].ToString();
ctn.NavigateUrl = "default.aspx?aa=" + datav["cid"].ToString();
tn.ChildNodes.Add(ctn);
}
}}
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataView dv = drv("select * from bid");//声明一个视图,调用drv方法、
foreach (DataRowView datatav in dv)
{
//循环数据视图,将对应的值交给一个节点对象,然后添加到树上有继续添加。迭代数据视图的所有行。
TreeNode tn = new TreeNode(); //实例化一个节点对象
tn.Text = datatav["title"].ToString();//给tn添加text属性
tn.Value = datatav["bid"].ToString();//给tn添加value属性
tn.Expanded = false; //设置当前节点是折叠还是展开,这里设为折叠。
TreeView1.Nodes.Add(tn); //把已经填充好的节点对象填充到 TreeView1树中去
AddchildNodes(tn); }
}
}
private DataView drv(string query)
{
//根据传来的字符串返回一个数据视图
string connstr = ConfigurationManager.ConnectionStrings["testconn"].ConnectionString;
SqlConnection con = new SqlConnection(connstr);
SqlDataAdapter sda = new SqlDataAdapter(query,con);
DataSet ds = new DataSet();
sda.Fill(ds,"tree");
return ds.Tables["tree"].DefaultView; }
private void AddchildNodes(TreeNode tn)
{//填充二级节点,它需要一级节点的value,所以干脆送一个完整的根节点对象。
int bid = Convert.ToInt32(tn.Value);
DataView dv = drv("select * from class where bid='"+bid+"'");
foreach (DataRowView datav in dv)
{
TreeNode ctn = new TreeNode();
ctn.Text = datav["title"].ToString();
ctn.Value = datav["cid"].ToString();
ctn.NavigateUrl = "default.aspx?aa=" + datav["cid"].ToString();
tn.ChildNodes.Add(ctn);
}
}}
foreach (DataRowView datatav in dv)
{
//循环数据视图,将对应的值交给一个节点对象,然后添加到树上有继续添加。迭代数据视图的所有行。
CheckBox tn = new CheckBox(); //实例化一个节点对象
tn.Text = datatav["ClassCName"].ToString();//给tn添加text属性
tn.Value = datatav["ClassID"].ToString();//给tn添加value属性
//tn.Expanded = false; //设置当前节点是折叠还是展开,这里设为折叠。
//TreeView1.Nodes.Add(tn); //把已经填充好的节点对象填充到 TreeView1树中去
CHBCheck.Items.Add(tn);
AddchildNodes(tn); }
}
} private void AddchildNodes(CheckBox tn)
{//填充二级节点,它需要一级节点的value,所以干脆送一个完整的根节点对象。
int ClassID = Convert.ToInt32(tn.Value);
DataView dv = drv("select * from class where ClassID='" + ClassID + "'");
foreach (DataRowView datav in dv)
{
CheckBox ctn = new CheckBox();
ctn.Text = datav["ClassCName"].ToString();
ctn.Value = datav["ClassID"].ToString();
ctn.NavigateUrl = "admin_POPSet.aspx?aa=" + datav["ClassID"].ToString();
tn.i
//tn.ChildNodes.Add(ctn);
}
}