请问个设计思路WINFORM的(需要高手支援)。

zl194 2009-11-17 02:00:44
要做一个部门管理的界面
客户要求是表格形式的,内容如下。
部门编码,部门名称,负责人,联系方式,人数。

但我的困惑是,我的部门是分级次的,每人数要从末级的部门中统计。统计我可以解决。但是这种分级次的部门怎么在表格中显示呢。最好是这样。
部门A,部门名称,负责人,联系方式,人数。
部门A1,部门名称,负责人,联系方式,人数。
部门A2,部门名称,负责人,联系方式,人数。
部门A21,部门名称,负责人,联系方式,人数。
部门B,部门名称,负责人,联系方式,人数。
部门C,部门名称,负责人,联系方式,人数。

类似一个树控件,但是要有很多列才可以。怎样能美观的实现呢??





...全文
191 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhjzeus007 2010-09-28
  • 打赏
  • 举报
回复
加我QQ:872422848 我有源码,(重写方法)
孤芳-自赏 2009-11-17
  • 打赏
  • 举报
回复
不是“人士”是“人事”Sorry2次!!!
孤芳-自赏 2009-11-17
  • 打赏
  • 举报
回复
不是“认识”是“人士”Sorry!
孤芳-自赏 2009-11-17
  • 打赏
  • 举报
回复
哈哈,这个以前做认识管理系统的时候做过
关键是数据表的设计,如下:

Br_id Br_name Br_code
1 总部 0
2 市场部 001
3 技术部 002
4 华东市场部 00101
5 华中市场部 00102
6 华南市场部 00303
7 ASP技术部 00201
8 .NET技术部 00202
9 C#技术部分部1 0020201
10 C#技术部分部1 0020202

代码如下:希望对你有所启发
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Data;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Data;

namespace BLL
{
public class BumenxinxiBLL
{
//查询所有的部门信息
public DataTable bumenquerry()
{
Database db = DatabaseFactory.CreateDatabase();
DbCommand dbc = db.GetStoredProcCommand("Getselect");
db.AddInParameter(dbc, "@tablename", DbType.String, "branch");
return DA.SqlHelper.getDB.queryDt(dbc);
}
//查询部门的Br_code
public DataTable querrycode(string Br_code)
{
string where = "Br_code='"+Br_code+"'";
Database db = DatabaseFactory.CreateDatabase();
DbCommand dbc = db.GetStoredProcCommand("Getselect");
db.AddInParameter(dbc, "@tablename", DbType.String, "branch");
db.AddInParameter(dbc, "@where", DbType.String, where);
return DA.SqlHelper.getDB.queryDt(dbc);
}
//修改部门信息
public bool bumenupdate(int Br_id,string Br_name,string Br_code)
{
Common.Branch br = new Common.Branch();
br.BrId = Br_id;
br.BrName = Br_name;
br.BrCode = Br_code;
if (DA.SqlHelper.getDB.Update<Common.Branch>(br))
{
return true;
}
else
{
return false;
}
}
//添加部门
public bool bumenadd(string Br_name, string Br_code)
{
Common.Branch br = new Common.Branch();
br.BrName = Br_name;
br.BrCode = Br_code;
if (DA.SqlHelper.getDB.Add<Common.Branch>(br))
{return true;}
else{return false;}
}
//删除部门
public bool bumendelete(string code)
{
string str = "delete branch where Br_code like '"+code+"%'";
return DA.SqlHelper.getDB.querysql(str);
}

}
}
zl194 2009-11-17
  • 打赏
  • 举报
回复
按美羊羊的方法做的,同样感谢大家。
500公里之外 2009-11-17
  • 打赏
  • 举报
回复
xtraGrid很简单就可以完成
zl194 2009-11-17
  • 打赏
  • 举报
回复
谢谢大家了。我想想还是先用左边是TreeView控件, 右边是DataGridView控件。 试一试。
qqiuzaihui 2009-11-17
  • 打赏
  • 举报
回复
说话费劲, 上两张图给你看:




左边是TreeView控件, 右边是DataGridView控件。
这样应该能实现你的要求。
surlew 2009-11-17
  • 打赏
  • 举报
回复
LZ可以考虑用树结合其他控件来实现,比如datagridview,
树列主要信息分层次,点树节点其他控件显示详细信息
特别 2009-11-17
  • 打赏
  • 举报
回复
同志,能很好地解决问题就行
咱们也不是艺术大师,是不,也不想着流芳百世

楼主看看这个
http://www.codeproject.com/KB/tree/TreeWithColumns.aspx



[Quote=引用 9 楼 zl194 的回复:]
tooltip不好看,美羊羊说的好像靠点谱,但感觉不像正路啊。
[/Quote]
zl194 2009-11-17
  • 打赏
  • 举报
回复
我想用DataGridView折叠。
zl194 2009-11-17
  • 打赏
  • 举报
回复
tooltip不好看,美羊羊说的好像靠点谱,但感觉不像正路啊。
正宗熊猫哥 2009-11-17
  • 打赏
  • 举报
回复
不知道说的LZ是否明白

就像中央要的是各省的数据。从各省总体上去把握。
当需要知道具体某个省下面市甚至是县的具体数据的时候再进行详细的查看。
而不是一开始就一股脑儿的把县市这些数据就报给中央看了

这样说能理解吧
zl194 2009-11-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ljhcy99 的回复:]
有几个问题啊/
1,
你的部门最多是三个级别把?
就是说

部门A,
    部门A1。
    部门A2,
          部门A21。

不会再有部门A211,是吗?

2,你想这样 有层次感 的显示么?


[/Quote]
级次不限制,我想这样有层次。
sharp_future 2009-11-17
  • 打赏
  • 举报
回复
用树节点咯
部门A
部门名称 然后这边显示对应部门的数据就好了,比较明朗
部门B
部门名称
部门C
部门名称
正宗熊猫哥 2009-11-17
  • 打赏
  • 举报
回复

对于部门级的。子部门就当作是一个“人”来对待。

如果对这个人有兴趣的话再细一步查看这个“人”的结构。再有子部门也以此类推

特别 2009-11-17
  • 打赏
  • 举报
回复
要我说啊,用表格,
表格有五列,部门编码,部门名称,负责人,联系方式,人数
其中部门名称这列宽一点,第一级的顶格显示,以后每多一级前面空两个全角空格
ljhcy99 2009-11-17
  • 打赏
  • 举报
回复
有几个问题啊/
1,
你的部门最多是三个级别把?
就是说

部门A,
部门A1。
部门A2,
部门A21。

不会再有部门A211,是吗?

2,你想这样 有层次感 的显示么?

  • 打赏
  • 举报
回复
你用的是什么?datagridview?搜搜datagridview折叠或者找一个类似的折叠的控件!
Dev的某个控件貌似十分好用,xtraGrid或者pivotGrid都是满足的,自带统计!
Error_Code 2009-11-17
  • 打赏
  • 举报
回复
当然用树形控件 节点只写"部门名称"
"部门名称,负责人,联系方式,人数" 在tooltip里显示

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧