数据库设计:
ziid int
fuid int
content nvarchar
url nvarchar
程序代码如下:
类:
/// <summary>
/// 使用sql语句绑定treeview
/// </summary>
/// <param name="TDC">treeview的节点集合treeviewid.notes</param>
/// <param name="sqlstr">sql语句</param>
/// <param name="FuIDcolname">根节点对应的字段名</param>
/// <param name="ZiIDcolname">子节点对应的字段名</param>
/// <param name="FieldTextValue">节点显示文本对应的字段名</param>
/// <param name="Urlcolname">链接对应的字段名</param>
/// <param name="FuIDvalue">根节点对应的起始值</param>
/// <param name="conn">数据库连接对象</param>
public static void BindTreeView(TreeNodeCollection TDC, string sqlstr,string FuIDcolname,string ZiIDcolname,string FieldTextValue,string Urlcolname,int FuIDvalue, SqlConnection conn)
{
SqlDataAdapter da = new SqlDataAdapter(sqlstr, conn);
DataSet ds = new DataSet();
da.Fill(ds);
TreeNode newnode;
DataRow[] rows = ds.Tables[0].Select(FuIDcolname+"="+Convert.ToString(FuIDvalue));
foreach (DataRow row in rows)
{
newnode = new TreeNode(row[FieldTextValue].ToString(), "", row[Urlcolname].ToString(), "", "_self");
TDC.Add(newnode);
BindTreeView(newnode.ChildNodes, sqlstr,FuIDcolname,ZiIDcolname,FieldTextValue,Urlcolname, Convert.ToInt32(row[ZiIDcolname].ToString()), conn);
}
}
页面文件中的代码:
CDB.BindTreeView(TreeView1.Nodes, "select * from t_column", "ColumnFatherid", "ColumnId", "ColunmnName", "state", 0, conn);
CDB为我开发的类名,conn为数据库连接对象。