110,571
社区成员
发帖
与我相关
我的任务
分享
with tb(ID,[NAME])
as(
select '001','原材料' union all
select '0011','塑料' union all
select '00111',' ABS' union all
select '00112','PP' union all
select '00113','AS料' union all
select '0012','烫金纸' union all
select '0013','油墨' union all
select '00131','PPC' union all
select '00132','PM'),
cte as(
select * from tb where id='001' union all
select t.id,t.name from cte c,tb t where t.id!=c.id and t.id like c.id+'%'
)
select * from cte
private void Form1_Load(object sender, EventArgs e)
{
DataRow[] drs = dt.Select("len(ID)=3","ID");
foreach (DataRow dr in drs)
{
TreeNode nodeParent = tv.Nodes.Add(dr["Name"].ToString());
nodeParent.Tag = dr["ID"].ToString();
LoadNode(nodeParent, dt);
}
}
private void LoadNode(TreeNode nodeParent, DataTable dt)
{
string strPID = nodeParent.Tag.ToString();
DataRow[] drs = dt.Select(string.Format("len(ID)={0} and id like '{1}%'",strPID.Length+1,strPID) , "ID");
if (drs != null && drs.Length > 0)
{
foreach (DataRow dr in drs)
{
TreeNode node = nodeParent.Nodes.Add(dr["Name"].ToString());
node.Tag = dr["ID"].ToString();
LoadNode(node, dt);
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
DataRow[] drs = dt.Select("len(ID)=3","ID");
foreach (DataRow dr in drs)
{
TreeNode nodeParent = tv.Nodes.Add(dr["Name"].ToString());
nodeParent.Tag = dr["ID"].ToString();
LoadNode(nodeParent, dt);
}
}
private void LoadNode(TreeNode nodeParent, DataTable dt)
{
string strPID = nodeParent.Tag.ToString();
DataRow[] drs = dt.Select(string.Format("len(ID)={0} and id like '{1}%'",strPID.Length+1,strPID) , "ID");
if (drs != null && drs.Length > 0)
{
foreach (DataRow dr in drs)
{
TreeNode node = tv.Nodes.Add(dr["Name"].ToString());
node.Tag = dr["ID"].ToString();
LoadNode(node, dt);
}
}
}