62,046
社区成员
发帖
与我相关
我的任务
分享
public void CreateTreeNode(TreeNodeCollection nodes, DataTable dt, string curID, bool lb_sort, bool lb_expanded)
{
string ls_sort;
if (lb_sort == true)
{
ls_sort = "ASC";
}
else
{
ls_sort = "DESC";
}
//清空树中所有节点,以免出现重复显示的树节点
nodes.Clear();
// 创建一个空行记录
DataRow[] rows = null;
if (curID == null)
{
//查询出该树最上面一层的节点
rows = dt.Select("Convert(PARENTID, 'System.String') = '-1'", "XH " + ls_sort + "");//"[PARENTID] = -1"
}
else
{
//取出以该节点为父节点的所有节点
rows = dt.Select("Convert(PARENTID, 'System.String') = '" + curID + "'", "XH " + ls_sort + "");
}
// 循环赋值
foreach (DataRow row in rows)
{
//添加树的节点
TreeNode node = new TreeNode();
node.Value = row["ID"].ToString();
node.Text = row["NAME"].ToString();
node.SelectAction = TreeNodeSelectAction.Select;
node.Expanded = lb_expanded;
nodes.Add(node);
node.ImageUrl = "../addon/imgs/folder.gif";
CreateTreeNode(node.ChildNodes, dt, node.Value, lb_sort, lb_expanded);
//递归调用,创建树
this.CreateTreeNode(node.ChildNodes, dt, node.Value, lb_sort, lb_expanded);
}
}
//递归调用,创建树
this.CreateTreeNode(node.ChildNodes, dt, node.Value, lb_sort, lb_expanded);