首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么通过数据表中的数据结构来构造一个TreeView结构

2012-10-10 
如何通过数据表中的数据结构来构造一个TreeView结构?数据表中代码数据结构位数为:2-3-3-4具体如下:数据第1

如何通过数据表中的数据结构来构造一个TreeView结构?
数据表中代码数据结构位数为:2-3-3-4
具体如下:
数据第1列为代码,第2列为名称
01 现金
02 银行
02001 建行
02001001 建行南宁分行
02001002 建行田阳支行
02001003 建行百色分行
02002 中行
02002001 中行南宁分行
02002002 中行田阳支行
02002003 中行百色分行
02003 农行

想要的树状结构如上所述,树状的结点为“代码+名称”
请前辈支招指点!
本人将不愦余力的加分给分!

[解决办法]
新建一个窗体,摆一个TreeView和一个Button,在Button单击事件里面编写:

C# code
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {            var data = @"01 现金02 银行02001 建行02001001 建行南宁分行02001002 建行田阳支行02001003 建行百色分行02002 中行02002001 中行南宁分行02002002 中行田阳支行02002003 中行百色分行02003 农行".Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)           .Select(x => new { id = x.Split(' ')[0], name = x.Split(' ')[1] });            foreach (var item in data.Where(x => x.id.Length == 2))            {                 TreeNode tn = new TreeNode()                {                     Name = item.name,                    Text = item.id + item.name,                    Tag = item.id,                };                foreach (var item1 in data.Where(x => x.id.Length == 5 && x.id.StartsWith(item.id)))                {                    TreeNode tn1 = new TreeNode()                    {                        Name = item1.name,                        Text = item1.id + item1.name,                        Tag = item1.id,                    };                    foreach (var item2 in data.Where(x => x.id.Length == 8 && x.id.StartsWith(item1.id)))                    {                        TreeNode tn2 = new TreeNode()                        {                            Name = item2.name,                            Text = item2.id + item2.name,                            Tag = item2.id,                        };                        tn1.Nodes.Add(tn2);                    }                    tn.Nodes.Add(tn1);                }                treeView1.Nodes.Add(tn);             }        }    }}
[解决办法]
C# code
...string datastr = "";foreach (DataRow dr in ds.Tables[0].Rows){    datastr += dr["GroupID"].ToString() + " " + dr["GroupName"].ToString() + "\r\n";}//之后再套用我下面的代码var data = datastr.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)           .Select(x => new { id = x.Split(' ')[0], name = x.Split(' ')[1] });...
[解决办法]
探讨
那你再调一调嘛。

热点排行