/// <summary>
/// 数据库动态绑定TreeView
/// 要求数据表最少有5个字段
/// 第1个字段:ID
/// 第2个字段:ParendID
/// 第3个字段:文本
/// 第4个字段:提示信息
/// 第5个字段:要转向的链接
/// </summary>
/// <param name="tnd">TreeView.Nodes</param>
/// <param name="sql">Select SQL</param>
public static void Bind(TreeNodeCollection tns, string sql)
{
DataTable dt = DAL.DataSource.getDataTable(sql);
tns.Clear();
InitTree(tns, dt, 0);
return;
}
/// <summary>
/// 初使化树(递归绑定)
/// </summary>
/// <param name="tns">TreeView.Nodes</param>
/// <param name="dt">DataTable</param>
/// <param name="parentID">ParentID</param>
private static void InitTree(TreeNodeCollection tns, DataTable dt, int parentID)
{
TreeNode tn;
DataRow[] rows = null;
try
{
rows = dt.Select("M_parentID=" + parentID);
foreach (DataRow dr in rows)
{
tn = new TreeNode();
tn.SelectAction = TreeNodeSelectAction.Expand;
tn.Value = dr["M_Id"].ToString();
tn.Text = dr["M_Title"].ToString();
if (dr["M_Show"].ToString() != null)
{
tn.ToolTip = dr["M_Show"].ToString();
}
if (dr["M_Url"].ToString() != null || dr["M_Url"].ToString() == "")//判断有没有URL
{
tn.NavigateUrl = dr["M_Url"].ToString();
}
if (dr["M_Target"].ToString() != null)//判断当前节点在哪里打开
{
tn.Target = dr["M_Target"].ToString();
}
else
{
tn.Target = "main";
}
if (dr["M_Collapse"].ToString() == "True")//判断是否折叠当前节点
{
tn.Collapse();
}
tns.Add(tn);
InitTree(tn.ChildNodes, dt, Convert.ToInt32(tn.Value));
}
}
catch (Exception ex)
{
throw ex;
}
return;
}
递归绑定TreeView
最新推荐文章于 2024-07-24 17:08:13 发布