【问题标题】:Binding List<T> with datagridview in C#在 C# 中将 List<T> 与 datagridview 绑定
【发布时间】:2014-03-07 01:20:59
【问题描述】:

我想知道直接绑定列表到datagridview数据源和绑定Bindingsource到datagridview有什么区别。这是一个例子:

Ex1:

List<Employee> list = this.GetEmployees();
dgvEmployees.Datasource = list;

Ex2:

List<Employee> list = this.GetEmployees();
BindingSource soure = new BindingSource();
soure.Datasource = list;
dgvEmployees.Datasource = soure;

那么,哪一个应该是好的做法?

【问题讨论】:

  • 如果我必须选择.. 并且如果它们都可以工作,第一个.. 代码行数的一半并且更易于阅读。编辑..第二个看起来真的很难看.. a = b; c = 一个;另外我会输入酸作为来源。

标签: c# winforms


【解决方案1】:

一般来说,直接使用Datasource 用于简单的情况,使用BindingSource 用于更复杂的情况。如果您只想显示数据而不关心在显示之前对其进行修改,请随时使用Datasource

另一方面,BindingSource 允许您(不是详尽的列表):

  • 指定Format 方法在用户看到列表数据之前对其进行转换,并指定Parse 方法在用户编辑列表数据后将其转换回来
  • 跟踪列表中的当前(选定)项
  • 自定义添加新元素的方式
  • 防止编辑当前项目
  • 添加或删除元素时收到通知

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-17
    • 2010-09-12
    • 1970-01-01
    • 2013-10-24
    • 2016-11-04
    • 2021-11-04
    • 2012-12-11
    • 1970-01-01
    相关资源
    最近更新 更多