#region TreeView的数据绑定
/// <summary>
/// TreeView的数据绑定函数
/// </summary>
/// <param name="treeview">TreeView控件ID名称</param>
/// <param name="sql">数据的查询语句</param>
/// <param name="parentName">数据库中父级别的字段名称</param>
/// <param name="text">树控件要显示的文本的字段名称</param>
/// <param name="tag">树控件数据相关中的字段名称</param>
public void Bind_TreeView(TreeView treeview, string sql, string parentName, string text, string tag)
{
DataTable DsNode = new DataTable();
string err = "";
DsNode = conn.DataSet_n_return(ref err, sql);
DataRow[] mydr = DsNode.Select(parentName + "=-1");//根节点的的ParentID为-1
treeview.Nodes.Clear();
TreeNode rootnode = new TreeNode();//创建根节点
rootnode.Text = mydr[0][text].ToString();
rootnode.Tag = mydr[0][tag].ToString();
treeview.Nodes.Add(rootnode);//在添加完节点的内容之后,当然要添加根节点,
CreateChildNodes(rootnode, DsNode, parentName, text, tag);//根节点创建结束,当然是轮到子节点了
}
public void CreateChildNodes(TreeNode treenode, DataTable dataTable, string parentName, string text, string tag)
{
DataRow[] myDataRow = dataTable.Select(parentName + "='" + treenode.Tag + "'");
foreach (DataRow dataRow in myDataRow)
{
TreeNode childnode = new TreeNode();
childnode.Text = dataRow[text].ToString();
childnode.Tag = dataRow[tag].ToString();
treenode.Nodes.Add(childnode);
CreateChildNodes(childnode, dataTable, parentName, text, tag);
}
}
#endregion