谁能用C#语言C/S架构实现一个树的功能

1、使用C#、WINFORM开发:有一组保存在ArrayList内的项目ID如下:BB11-AAMDP-C01-B034TBB11-AAMDP-C01-B324TBB12... 1、使用C#、WINFORM开发:有一组保存在ArrayList内的项目ID如下:

BB11-AAMDP-C01-B034T

BB11-AAMDP-C01-B324T

BB12-AAMDP-H00-XXXXT

BB12-ASCOP-M00-XXXXT

BB13-ABFCX-C01-A597T

BB13-ABFCP-M00-XXXXT

ID携带的信息如下(“-”不算在内):

1-4位:公司ID

5位:地区ID

6-8位:客户ID

9位:行业ID

10位:产品线ID

11-12位:月份ID

其他:流水号

请根据项目ID生成一颗项目树,树的层级关系如下:

公司

--------地区

----------------客户

------------------------行业

--------------------------------产品线

----------------------------------------月份

------------------------------------------------项目

显示界面如下图:
各位大侠有思路把你们的邮箱告诉我,我给你们把图发过去。谢谢合作。成功还有加分奖励。
展开
 我来答
z395328243
2010-11-14 · 超过29用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:83万
展开全部
public class CA{
private String name;

public String getName() {
return name;}

public void setName(String newname){
name = newname;}
}

public static void main(String[] args)
{
ArrayList<CA> CAs = new ArrayList<CA>();

CA c1= new CA();c1=BB11-AAMDP-C01-B034T

CA c2 = new CA();c2=BB11-AAMDP-C01-B034T

CA c3 = new CA();
c3=BB11-AAMDP-C01-B034T

CAs.add(s1);
CAs.add(s2);
CAs.add(s3);
双引号用不成 用~ (手写半天一提交没有 不想写了写个大概)
treeView1.Nodes.Add(~公司信息~);
treeView1.Nodes[1].Nodes.Add(~公司ID:~ + CAs[1].ToString().Substring(0,CAs[1].ToString().LastIndexOf('-') -1);
treeView1.Nodes[1].Nodes[1].Nodes.Add(~地区ID:~ + CAs[2].ToString().Substring(0,CAs[1].ToString().LastIndexOf('-') -1);

编号长是一定的 最简单就for
要不就用递归吧 TreeNode treeView1

#region 回收站
//回收站
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
if (treeView1.Nodes.Count > 0)
treeView1.Nodes.RemoveAt(0);

string driver = comboBox1.SelectedItem.ToString();

string path = driver + ~Recycled~;

DriveInfo d = new DriveInfo(driver);
if (d.IsReady == false)
{
MessageBox.Show(~该驱动器不可用!~);
return;
}
if (d.DriveFormat == ~NTFS~)
path = driver + ~Recycler~;

string[] dirs = Directory.GetDirectories(path);
string[] files = Directory.GetFiles(path);
treeView1.Nodes.Add(new TreeNode(path, 1, 1));

foreach (string s in dirs)
{
string name = s.Substring(s.ToString().LastIndexOf('\\') + 1);
TreeNode tn = new TreeNode(name, 2, 0);
treeView1.Nodes[0].Nodes.Add(tn);
}

foreach (string s in files)
{
string name = s.Substring(s.LastIndexOf('\\') + 1);
TreeNode tn = new TreeNode(name, 3, 3);
treeView1.Nodes[0].Nodes.Add(tn);
}
}
catch
{
MessageBox.Show(~未找到回收站!~);
return;

}
}

#endregion
bjddd192
2010-11-15 · TA获得超过416个赞
知道小有建树答主
回答量:496
采纳率:0%
帮助的人:436万
展开全部
之所以为树,必需满足树的结构,也就是要找一个根节点,然后每个叶节点有父节点,你的数据目前还没有成为此结构,建议你把数据存入DataTable,每一个节点都是一行,然后增加一个字段叫做parentID,用来存放父节点,根节点的可以用0,建立此结构以后,直接绑定TreeView就自动实现树结构了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
doug2000
2010-11-13 · 超过26用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:39.1万
展开全部
有思路,但不知最终实现后的效果(有效果图最好),给个要求,我来实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
许运来
2010-11-14 · 超过21用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:36.4万
展开全部
个人觉得这是一个字符串截取然后验证比较后生成树的问题。
很符合树的要求,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flnta76
2010-11-26 · TA获得超过479个赞
知道小有建树答主
回答量:556
采纳率:0%
帮助的人:464万
展开全部
你给我项目案例我给你做
说说你要什么,我这说不定有
不过大部分都是sql2005的
还有JSP的

最后告诉你一点,我们是有团队的哦~~
有兴趣百度Hi联系我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式