对象集合绑定到datagrid的问题。来的有分。请高手给个意见或是方案。。谢谢啦。

xiaomaolover 2006-09-21 10:03:07
小弟真是没有什么更好的办法,来此请教高人,帮忙给个见意

在这个程序中我尽量很少用datatable,
而是用了对像集合来进行数据绑定控件的显示

但在开发的时候遇到这样的一个问题。

如果只显示用户的信息列表这样很容易。
因为有(user实体对象)
代码像这样
this.GridView1.DataSource = user.GetUserListByDptID(this.RadioButtonList1.SelectedValue, true);---这里返回的是 IList<UserData>
this.GridView1.DataBind();
这样直接就可以帮定,而且可以显示出来

但如果有这样一个列表

用户的信息(user实体对象),用户所在部门的信息(部门实体对象),用户有的权限信息(权限实体)

要是用对象集合帮定显示的话。应该怎么弄?

我想的几个办法:
1。
扩展用户类 加部门信息,权限信息(要显示的),但这样显示的很不爽。因为用户类实体类里的信息和其它的几个类里(部门实体对象,权限实体)的信息有冗余,
2。再做一个showUser类
这个类继承用户类,加一些好多的扩展的信息用于显示,

不知我的问题。说明白了没有?请帮帮忙给个方法吧。谢谢啦。我应该怎么做更好一些呢???


...全文
414 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomaolover 2006-10-10
  • 打赏
  • 举报
回复
谢谢大家了。。服务员结帐。。。
exiori 2006-09-23
  • 打赏
  • 举报
回复
第二种比较好.
xuyan9132 2006-09-22
  • 打赏
  • 举报
回复
学习+关注
petshop4 2006-09-22
  • 打赏
  • 举报
回复
用第一种感觉很不好
我就用过 新闻MODEL类里加上了评论等等 太乱了
sunjay117 2006-09-22
  • 打赏
  • 举报
回复
看都不用看,第二种
大家都这样
petshop4 2006-09-22
  • 打赏
  • 举报
回复
可以直接继承USER类 再添加属性吗?
zhouyan024 2006-09-22
  • 打赏
  • 举报
回复
提高程序的安全性,属性通过GET来取到值,SET方法来置值.
从而把属性的读写操作分开了
符全面向对象的设计,添加从数据表到类的映射
就是感觉调用的时候方便了,看起来形象了
代码结构清晰,操作数据像在操作一个个对象,强类型(一个对象一个点就会出属性)
层次鲜明,易维护,架构清楚
fxqyyzg 2006-09-22
  • 打赏
  • 举报
回复
按你的方法来说我认为第一个好一些,虽然有一点冗余。但是不用重写了,而只是多出来几个字段,不会占多少地方
fxqyyzg 2006-09-22
  • 打赏
  • 举报
回复
可能是因为我的设计水平不行。所以会遇到这样那样的问题。

这种方式有好处也有坏处。
好处:
提高程序的安全性,属性通过GET来取到值,SET方法来置值.
从而把属性的读写操作分开了
符全面向对象的设计,添加从数据表到类的映射
就是感觉调用的时候方便了,看起来形象了
代码结构清晰,操作数据像在操作一个个对象,强类型(一个对象一个点就会出属性)
层次鲜明,易维护,架构清楚

坏处:
增加系统内存开销,增加代码量,开发难度大一些,要提前想好多的东西。

----------------------------
你可以写强类型的DataSet,标题上写的是DataGrid但是里面我看到好像用泛型了,是2005吧,用强类型的DataSet很方便,至于兴能没测过,应该不会慢到那里去,数据多就用分页呗
xiaomaolover 2006-09-22
  • 打赏
  • 举报
回复
TO:
vfp_system(菜鸟一个) (
看了你的帖子.也是这个问题.

我的QQ:89148614
方便,聊聊...
想个好的办法.
xiaomaolover 2006-09-22
  • 打赏
  • 举报
回复
来顶顶呀.
顶一下...
qinhl99 2006-09-22
  • 打赏
  • 举报
回复
简单的继承是不可取的,因为没有is a 的关系。
建议改进第一种方法。
楼主自己就是高人,本来dataTable 就挺好,为什么非要搞的这么复杂呢?
winsor_w 2006-09-22
  • 打赏
  • 举报
回复
第二种看上去很好,其实不然
如果你再要增加信息,那是再加一个类
还是扩展showUser类
如果是扩展showUser类,不又是第一中方案了?
lantian802 2006-09-22
  • 打赏
  • 举报
回复
建立三个实体类分别是用户信息,部门信息,权限信息,用户信息中包含一个部门信息和一个权限信息实体类的对象。
假如你要绑定显示出来部门的名称就是
((DepartmentEntity)Eval("DepartmentInfo")).DepartmentName;
其中DepartmentEntity是部门实体类,DepartmentInfo是用户实体类中部门实体类的一个对象,DepartmentName是部门实体类中的一个属性。
vfp_system 2006-09-22
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5012/5012777.xml?temp=.4957544
我也有同样的问题
sun2828 2006-09-22
  • 打赏
  • 举报
回复
up
wenhuiyan 2006-09-22
  • 打赏
  • 举报
回复
jf
zccmy22 2006-09-22
  • 打赏
  • 举报
回复
完全没有必要这么做.这种方法我不喜欢.还费劲..感觉直接写更好.直接读取后放到ds里面.很方便..不用那么烦..最后一指定数据源.就好了.
zccmy22 2006-09-22
  • 打赏
  • 举报
回复
晕了.没看懂..能不能说的直白点.呵可.
微技术 2006-09-22
  • 打赏
  • 举报
回复
学习了
加载更多回复(19)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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