using system;
using system.data;
using system.data.sqlclient;
using system.web;
using system.configuration;
using system.web.ui.webcontrols;
/// <summary>
/// class1 的摘要说明
/// </summary>
public partial class _default : system.web.ui.page
{
public dataset getcategorys()//获取category表里的数据
{
sqlconnection myconnection = new sqlconnection(configurationmanager.connectionstrings["sqlconnectionstring"].connectionstring);
string cmdtext = "select * from category";
sqldataadapter da = new sqldataadapter(cmdtext, myconnection);
dataset ds = new dataset();
try
{
myconnection.open();
da.fill(ds);
}
catch (sqlexception sqlex)
{
throw new exception(sqlex.message);
}
finally
{
myconnection.close();
}
return ds;
}
public void bindcategorytreeview(treeview treeview, bool isexpanded, string selecteddata)
{
datatable datatable = getcategorys().tables[0];
treeview.nodes.clear();
datarow[] rowlist = datatable.select("parentid='-1'");
if (rowlist.length <= 0) return;
treenode rootnode = new treenode();
rootnode.text = rowlist[0]["desn"].tostring();
rootnode.value = rowlist[0]["categoryid"].tostring();
rootnode.expanded = isexpanded;
rootnode.selected = true;
treeview.nodes.add(rootnode);//添加根节点到treeview
createchildnode(rootnode, datatable, isexpanded, selecteddata);//调用下面的成员函数,创建其他节点
}
private void createchildnode(treenode parentnode, datatable datatable, bool isexpanded, string selecteddata)//创建其他节点
{
datarow[] rowlist = datatable.select("parentid='" + parentnode.value + "'", "orderby");
foreach (datarow row in rowlist)
{
treenode node = new treenode();
node.text = row["desn"].tostring();
node.value = row["categoryid"].tostring();
node.expanded = isexpanded;
if (node.value == selecteddata)
{
node.selected = true;
}
parentnode.childnodes.add(node);//添加子节点到父节点
createchildnode(node, datatable, isexpanded, selecteddata);//递归,创建子节点
}
}
protected void page_load(object sender, eventargs e)
{
if (!page.ispostback)
{
bindcategorytreeview(mytreeview, true, "");
}
}
}