C# 绑定列表<;T>;在C中使用datagridview#
我想知道直接将列表绑定到datagridview数据源和将Bindingsource绑定到datagridview之间的区别。下面是一个例子: 例1:C# 绑定列表<;T>;在C中使用datagridview#,c#,winforms,C#,Winforms,我想知道直接将列表绑定到datagridview数据源和将Bindingsource绑定到datagridview之间的区别。下面是一个例子: 例1: List List=this.GetEmployees(); dgveemployees.Datasource=list; 例2: List List=this.GetEmployees(); BindingSource源=新的BindingSource(); source.Datasource=list; dgveemployees.Data
List List=this.GetEmployees();
dgveemployees.Datasource=list;
例2:
List List=this.GetEmployees();
BindingSource源=新的BindingSource();
source.Datasource=list;
dgveemployees.Datasource=soure;
那么,哪一个应该是好的实践呢?一般来说,直接使用
数据源
用于简单的案例,而使用绑定源
用于更复杂的案例。如果您只想显示数据,而不想在数据显示之前对其进行修改,请随意使用Datasource
另一方面,BindingSource
允许您(不是详尽的列表):
- 指定
方法在用户看到列表数据之前转换列表数据,并指定Format
方法在用户编辑列表数据之后将其转换回Parse
- 跟踪列表中的当前(选定)项
- 自定义添加新元素的方式
- 禁止编辑当前项
- 添加或删除元素时收到通知
List<Employee> list = this.GetEmployees();
dgvEmployees.Datasource = list;
List<Employee> list = this.GetEmployees();
BindingSource soure = new BindingSource();
soure.Datasource = list;
dgvEmployees.Datasource = soure;