大约一个月前,我刚开始在一个.NET程序员小组中工作,最近与我们的团队负责人讨论了为什么我们的代码中根本不使用数据绑定(bind)。每次使用数据网格时,我们都会遍历数据表并逐行填充网格。该代码通常看起来像这样:
Dim dt as DataTable = FuncLib.GetData("spGetTheData ...")
Dim i As Integer
For i = 0 To dt.Rows.Length - 1 '(not sure why we do not use a for each here)'
gridRow = grid.Rows.Add()
gridRow(constantProductID).Value = dt("ProductID").Value
gridRow(constantProductDesc).Value = dt("ProductDescription").Value
Next
'(I am probably missing something in the code, but that is basically it)'
我们的团队负责人说,他在90年代使用Sheridan Grid控件,VB6和ADO记录集时,就因为使用数据绑定(bind)而烦恼。他不确定确切的问题是什么,但是他记得绑定(bind)没有按预期工作,并给他带来了一些重大问题。从那时起,他们就不再信任数据绑定(bind),而是手动加载所有控件的数据。
之所以进行对话,是因为我发现数据绑定(bind)非常简单,并且非常喜欢将数据表示形式(在这种情况下为数据网格)与内存中数据源(在这种情况下为数据表)分离。将数据逐行“加载”到网格中似乎打破了这种区别。我还观察到,随着WPF和Silverlight中XAML的出现,数据绑定(bind)似乎是必不可少的,以便能够将您的数据与设计师的XAML代码整齐地结合在一起。
我应该何时谨慎使用.NET中的数据绑定(bind)?
最佳答案
我认为,如果您只是在显示数据,那么就没有理由不使用数据绑定(bind)。
我也来自VB6世界,那里的数据绑定(bind)一次又一次地困扰着我们,因此我们有一些标准和解决方法,以便不使用它。
输入.NET,数据绑定(bind)将随您所需而变得灵活。我真的很欣赏绑定(bind)现在所具有的功能。
通过拒绝内置功能,您正在编写许多不必要的代码。
您甚至可以将屏幕上的对象(例如文本框)绑定(bind)到类中的属性。
请查看此链接以获取Winforms数据绑定(bind)的概述。
http://msdn.microsoft.com/en-us/library/ef2xyb33(v=VS.100).aspx
关于.net - 什么时候应该谨慎使用.NET中的数据绑定(bind)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2633238/