Trid Fid Cid Lev Pos className
132 1 0 0 10 960K53982
132 2 1 1 10 BA-1-CTN-1
132 3 1 1 20 BA-1-WK-1
132 4 1 1 30 BA-1-GBAN-2
132 5 1 1 40 BA-2-DKA-3-06
132 6 1 1 50 BA-2-DKA-3-07
132 7 1 1 60 BLR-SB-381-280
132 8 1 1 70 PTU 960K53982
132 9 8 2 10 137E25730GEX2
132 10 8 2 20 107E22830GEX2
132 11 8 2 30 113W21478GEX2
132 12 8 2 40 137E25720GEX2
132 13 8 2 50 137E6780GEX2
132 14 8 2 60 107E07041GEX2
132 15 8 2 70 107E21701GEX2
132 16 8 2 80 103E32130GEX2
132 17 8 2 90 902W17366GEX2
132 18 8 2 310 SMT 960K53982
132 19 18 3 10 E3A4588K1E2
132 20 18 3 20 933W15921TGEX2
132 21 18 3 30 933W15918TGEX2
132 22 18 3 40 933W17514TGEX2
132 23 18 3 50 E4A2596K0EX2
132 24 18 3 60 137E27620TGEX2
132 25 18 3 60 137E27620E2
132 26 18 3 70 933W17513TAGEX2
132 27 18 3 80 933W17907GEX2
132 28 18 3 90 933W17506TAGEX2
133 1 0 0 10 960K47306
133 2 29 1 10 BA-1-CTN-2
133 3 29 1 20 BA-1-WK-2
133 4 29 1 30 PTU 960K47306
133 5 29 1 40 SMT 960K47306
133 6 32 2 10 137E25730GEX2
在以上结构中,如果使用Fid,Cid关键字段,用递归的方式可以实现目录树,但现在我想用Lev,Pos这二个关键字段来实现,大概
意思如下:
在数据库中按当前顺序逐条读数据,当Lev=0,生成根目录,当Lev=1,生成上一条根目录的子目录,当Lev=2,生成上一条子目录的子目录,请教这个用C#如何写?
private void Form1_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            SqlConnection conn = new SqlConnection(@"server=.;uid=sa;pwd=;database=pubs");
            conn.Open();
            SqlDataAdapter dap = new SqlDataAdapter("select *from classT", conn);
            dap.Fill(dt);
            conn.Close();
            DataRow[] dr = dt.Select("Lev=0");
            //for (int j = 0; j < dr.Length;j++ )
            //{
                TreeNode tr = new TreeNode();
                //tr.Text = dr[j]["className"].ToString();
                //tr.Name = dr[j]["Lev"].ToString();
                //listBox1.Items.Add(dr.Length);
                //AddTreeNode(dt, tr);
                this.treeView1.Nodes.Add(tr);                TreeNode objnode1 = new TreeNode("子节点文本1");
                tr.Nodes.Add(objnode1);
           // }
         }