我何时应该谨慎使用.NET中的数据绑定?

Ben*_*ack 5 .net vb.net data-binding winforms

我大约一个月前刚刚开始研究.NET程序员的一个小团队,最近我们与团队领导讨论了为什么我们的代码中根本不使用数据绑定.每次我们使用数据网格时,我们遍历数据表并逐行填充网格; 代码通常看起来像这样:

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)'
Run Code Online (Sandbox Code Playgroud)

我们的团队负责人说,在九十年代使用Sheridan Grid控件,VB6和ADO记录集时,他使用数据绑定进行了刻录.他不确定究竟是什么问题,但他记得绑定没有按预期工作,并给他带来了一些重大问题.从那时起,他们就不会信任数据绑定并手动加载所有控件的数据.

对话甚至出现的原因是因为我发现数据绑定非常简单,并且非常喜欢将数据表示(在本例中为数据网格)与内存数据源(在本例中为数据表)分开.将数据逐行"加载"到网格中似乎打破了这种区别.我还观察到,随着WPF和Silverlight中XAML的出现,数据绑定似乎是必须的,以便能够用您的数据干净地连接设计者的XAML代码.

我应该何时在.NET中使用数据绑定时要小心?

Joh*_*don 7

使用任何你不完全理解的东西时应该小心谨慎.

我承认不会很好地理解数据绑定,但我仍然认为你的团队领导的立场有点极端和反动.

我的经验法则是; 在你明白之前不要依赖某些东西.一旦你理解了它,你就不需要我(或其他任何人)的经验法则.

:)

一些与使用数据绑定的警告有关的链接:

http://travisgosselin.com/blog/?p=46

在C#和.NET中进行数据绑定


Jer*_*emy 3

在我看来,如果您所做的只是显示数据,则没有理由不使用数据绑定。

我也来自 VB6 世界,数据绑定一次又一次地困扰着我们,因此我们有标准和解决方法,以免使用它。

进入 .NET,其中数据绑定可以像您需要的那样灵活。我现在开始真正体会到绑定的力量。

通过拒绝内置功能,您正在编写许多不必要的代码。

您甚至可以将屏幕上的对象(例如文本框)绑定到类中的属性。查看此链接以了解 winforms 数据绑定的概述。 http://msdn.microsoft.com/en-us/library/ef2xyb33(v=VS.100).aspx