【问题标题】:C# Approaches to accessing and displaying data from a table [closed]C# 访问和显示表中数据的方法 [关闭]
【发布时间】:2013-09-30 03:09:48
【问题描述】:

我需要了解使用一种方法优于另一种方法的优点。为了简化情况 - 我有一个 textbox.text

需要显示数据库表中的字段。假设我有一个表:table1 有一列 col1。

我可以指定这样的东西,

a) textbox1.text = table1["col1"].Rows[1]

b) textbox1.DataBindings.Add() method

谁能给我这两种选择的比较,在什么情况下我应该使用一种方法而不是另一种方法?还有其他我应该注意的吗?我知道 LINQ,但理解它更像是 SQL 的替代品。

我不明白的另一个方面。如果我想用表格中的数据填充十个文本框,我可能会使用类似的东西:

for (int i =0; i<10; i++)
{
Textbox[i].Text = table1["col1"].Rows[i];
}

如何使用方法(b)/数据绑定来完成?

提前感谢您的帮助。

【问题讨论】:

  • table1.Rows[i]["col1"];
  • 数据绑定是一个比仅仅将数据推送到各处的更高级别的抽象。我更喜欢它们(不是来自 WinForms(还有你为什么还在使用 WinForms),而是来自其他使用该方法的框架),因为它们更容易看到 GUI 组件的价值和底层模型之间的联系。也就是说,您通常在一个地方设置绑定,而不是让 GUI 更新可能分散。与较高抽象级别通常一样,缺点是涉及不太直接的代码的认知开销。
  • @millimoose '认知开销'我喜欢这样......
  • @Steve 这个概念很好地解释了为什么有些人不喜欢框架。 (或者为什么有些框架很糟糕。)
  • @FatCat 或者忘记 winforms 并使用支持(真实)数据绑定的 UI 框架。

标签: sql database winforms data-binding


【解决方案1】:

将数据绑定视为“动态的”,因为当数据发生变化时,控件中绑定的对象也会发生变化。所以理想的绑定情况是绑定一次(2种方式)然后忘记它。

在您的另一个示例中,文本已设置,除非您明确更改它,否则它永远不会更改,同样,如果您需要该文本数据,您将必须访问 text 属性并从控件中获取值。

这是一个很好的 winforms 示例。

http://www.codeproject.com/Articles/11530/Understanding-Simple-Data-Binding

MS 绑定解释(注 0 票,6 票)

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.databindings.aspx

另一个堆栈溢出简单示例

C# Textbox data binding with DataSet

【讨论】:

    猜你喜欢
    • 2021-03-03
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多