Irs*_*had 4 c# data-binding datagridview
我有一个DataGridView和一些从SQL表填充的对象的列表。我过去有两种方法将列表绑定到网格。
1,直接使用列表到数据源
grdSomeList.DataSource = GetListSomeObjects();
2.通过绑定源使用
_bsSomeList = new BindingSource();
_bsSomeList .DataSource = GetListSomeObjects();
grdSomeList.DataSource = _bsSomeList ;
Run Code Online (Sandbox Code Playgroud)
绑定数据源的最佳实践是什么?这两个背后是否有某些特定原因?
如果其单向绑定,请使用第一种方法。
如果它是双向绑定,请使用第二种方式,这意味着当用户更改DataGridView单元格时,更改将保存/持久化在GetListSomeObjects()数据源中。
您尚未指定这是WPF,Winforms,Web,还是可以在BindingSource和One,Two等方式上进行阅读:
双向
导致对源属性或目标属性的更改以自动更新另一个。这种类型的绑定适用于可编辑表单或其他完全交互的UI方案。
单程
当绑定源(源)更改时,更新绑定目标(目标)属性。如果要绑定的控件是隐式只读的,则此类型的绑定是合适的。例如,您可以绑定到诸如股票行情自动收录器的来源。也许您的目标属性没有提供用于进行更改的控制界面,例如表的数据绑定背景色。如果不需要监视目标属性的更改,则使用OneWay绑定模式可以避免TwoWay绑定模式的开销。
一度
当应用程序启动或数据上下文更改时更新绑定目标。如果您使用的数据适合使用当前状态的快照或数据是真正静态的,则这种类型的绑定是合适的。如果要使用源属性中的某个值初始化目标属性,并且事先不知道数据上下文,则这种类型的绑定也很有用。本质上,这是OneWay绑定的一种简单形式,在源值不变的情况下提供更好的性能。
OneWayToSource
目标属性更改时更新源属性。默认使用绑定目标的默认Mode值。每个依赖项属性的默认值都不同。通常,用户可编辑的控件属性(例如文本框和复选框的属性)默认为双向绑定,而其他大多数属性默认为单向绑定。确定默认情况下依赖项属性是单向还是双向绑定的一种编程方式是使用GetMetadata获取属性的属性元数据,然后检查BindsTwoWayByDefault属性的布尔值。
| 归档时间: |
|
| 查看次数: |
7212 次 |
| 最近记录: |