使用BindingSource将文本框链接到数据集

时间:2012-07-14 16:19:43

标签: c# winforms visual-studio-2010 binding sql-server-ce

这是我正在处理的表格部分:

enter image description here

以下代码使用bindingSource将BindingNavigator链接到数据集。我可以使用此绑定源将两个文本框连接到数据吗?

我是否只需要使用文本框的属性,还是更复杂?

即当表单加载第一个记录的字段时,将显示“工作短语”和“描述”,当我使用导航器滚动时,这些框中的值将相应地改变。

public partial class uxRevisionHelperForm : Form
{

    public SqlCeConnection conn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["WindFormAppRevisionHelper.Properties.Settings.DefinitionsDBConnectionString"].ConnectionString);
    BindingSource definitionsBindingSource = new BindingSource();

    public uxRevisionHelperForm()
    {
        InitializeComponent();
        uxDescriptionTextBox.AutoSize = true;
        this.hookUpBindingNavigator();
    }

    public void hookUpBindingNavigator()
    {            

        SqlCeDataAdapter da = new SqlCeDataAdapter(new SqlCeCommand("Select * From tb_Definitions",conn));
        DataSet ds = new DataSet("Helper");
        ds.Tables.Add("DefinitionsTable");
        da.Fill(ds.Tables["DefinitionsTable"]);

        // Assign the BindingSource.
        this.uxBindingNavigator.BindingSource = this.definitionsBindingSource;
        this.definitionsBindingSource.DataSource = ds.Tables["DefinitionsTable"];

    }

2 个答案:

答案 0 :(得分:4)

尝试使用文本框的DataBinding集合。

这样的事情:

uxDescriptionTextBox.DataBindings.Add("Text", 
                                      definitionsBindingSource,
                                      fieldInTable);

答案 1 :(得分:1)

在此处添加了full source code(完全突出显示您的要求) - http://sdrv.ms/NyXHdu。下载>在VS2010中打开解决方案>点击F5

<强> [更新]

  1. 双击Form.cs设计器并观察productListBindingSource。它绑定到自定义对象 - The ProductList class

  2. 然后查看TextBoxes&amp;的属性。 ComboBox并观察DataBindings > Text property。它们绑定到productListBindingSource的单个项目。见下图。

  3. enter image description here

    Courtsey - http://www.apress.com/9781590594391/ [第8章]