请问怎么设计实现这个需求最方便?

coyun 2017-06-23 10:30:53
需求其实也很简单,就是用一个GridControl去显示1000个用户,每个用户有ID,Name,Email,Role。其中每个用户有多个Role,
而Role是一个对象,有RoleID, RoleName。除了显示,还要求可以添加,编辑,删除用户。工具用的是DevExpress, 目前考虑两个途径:

1)直接用 GridControl 的 Master-Details去显示,添加,编辑用户。 在Master Grid里显示用户的 ID, Name, Email。然后点击ID,会显示下面的Detail信息,这个Detail信息就是这个用户的RoleID,RoleName.

2)还是用 GridControl 的 Master-Details去显示用户,但是用另一组control去实现编辑,添加用户。比如,在Grid旁边显示一个Panel,Panel里边有Label, Textbox,Combobox等。

哪个方法好?方法1的好处是用起来方便,一个Grid,就可以实现所有操作。但是我不确定在DevExpress里的GridControl可不可以在Detail view里实现combobox从而用户可以选择多个RoleID? 实现起来麻烦吗?

方法2好处是实现起来简单些。

你们说呢?谢谢!
...全文
481 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
coyun 2017-07-24
  • 打赏
  • 举报
回复
如果我第一次改变了第一行的值,第二次改变了第三行的值,最后我怎么知道第一行和第三行的值改变了呢?
exception92 2017-07-24
  • 打赏
  • 举报
回复
引用 2 楼 coyun 的回复:
请问如果用gridcontro绑定一个observablecollection<Role>, 如果在grid中改变一个值,它绑定的collection怎么知道哪个值改变了?
使用Binding 指定它的 ItemsSource 属性为集合属性。 在grid中改变一个值,它绑定的collection怎么知道哪个值改变了 -》Role 类实现INotifyPropertyChanged接口,不懂百度关键字。
exception92 2017-07-24
  • 打赏
  • 举报
回复
引用 4 楼 coyun 的回复:
如果我第一次改变了第一行的值,第二次改变了第三行的值,最后我怎么知道第一行和第三行的值改变了呢?
值改变会触发属性中的set方法。
coyun 2017-07-22
  • 打赏
  • 举报
回复
请问如果用gridcontro绑定一个observablecollection<Role>, 如果在grid中改变一个值,它绑定的collection怎么知道哪个值改变了?
exception92 2017-06-26
  • 打赏
  • 举报
回复
第一种方法好些。https://documentation.devexpress.com/#WPF/CustomDocument11836 在Detail中而是可以显示Combobox供选择的。 安装文件中的Demo Center中是实例。

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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