【问题标题】:Any advantages of binding a list of objects to a grid instead of to a datatable? (.NET)将对象列表绑定到网格而不是数据表有什么好处? (。网)
【发布时间】:2009-07-24 17:40:19
【问题描述】:
我有一个业务对象,比如说客户。我有一个带回客户数据表的 DAL 方法。我有一个用户界面,它有一个显示客户列表的网格。
我的问题是.. 是否可以将网格绑定到数据表,这意味着 UI 将引用 System.Data 还是应该首先将数据表转换为 IList 并将其绑定到网格?从 dt 到列表的转换可能会影响性能,我看不出使用列表而不是直接使用数据表会获得什么。另外,我喜欢数据表可视化工具!
使用对象列表而不是数据的数据表有什么真正的优势?
【问题讨论】:
标签:
.net
data-binding
list
data-structures
datatable
【解决方案1】:
除了架构之外,在数据表上使用对象列表的唯一真正优势是您获得的强类型属性(您也可以通过类型化数据集获得)。但是,如果您要进行数据绑定,这并不重要。
绑定到数据表是完全可以的,很多非常好的应用程序都使用它作为他们的架构。他们将从 DAL 中拉回数据表而不是对象。我个人不会这样做,但它本身并没有什么问题。
【解决方案2】:
从直接绑定的角度来看,我会将其保留为数据表,因为这是您已经拥有的。
当您想要迭代对象列表而不是行列表时,更改为列表非常有用。它派上用场的地方是从 Linq 的角度来看,您想要获取列表并进一步限制或排序它,或者如果您想要使用特定类型而不是包含列列表的通用行列表。