【发布时间】:2011-02-07 15:52:02
【问题描述】:
大约一个月前,我刚开始在一个小型 .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)'
我们的团队负责人说,他在九十年代使用 Sheridan Grid 控件、VB6 和 ADO 记录集时被数据绑定烫伤了。他不确定确切的问题是什么,但他记得绑定没有按预期工作,并给他带来了一些重大问题。从那时起,他们就不再信任数据绑定,而是手动加载所有控件的数据。
之所以会出现这种对话,是因为我发现数据绑定非常简单,并且非常喜欢将数据表示(在本例中为数据网格)与内存数据源(在本例中为数据桌子)。将数据逐行“加载”到网格中似乎打破了这种区别。我还观察到,随着 WPF 和 Silverlight 中 XAML 的出现,数据绑定似乎成为必须具备的条件,以便能够将设计人员的 XAML 代码与您的数据干净地关联起来。
什么时候应该谨慎使用 .NET 中的数据绑定?
【问题讨论】:
-
.Net 中的数据绑定与 VB6 中的数据绑定完全不同。
-
@SLaks 我想是的。你知道我能读到哪些很好的参考资料来明确说明这种情况吗?
-
这段代码看起来已经过时了至少 10 年。
-
@Andrey 代码可能已经过时了大约 10 年。据我了解,5 年前,所有精通 VB6 的开发人员的任务是在大约 5 周内推出一个成熟的 .NET 应用程序。因此,您会看到很多 VB.NET 代码看起来像是被黑的 VB6 代码。它有效,但肯定不漂亮。
标签: .net vb.net winforms data-binding