• Windows Forms数据绑定技术


    BindingSource组件是.Net在Windows Forms数据绑定方面最重要的创举之一,它能够为窗体封装数据源,让控件的数据绑定操作更加简便。使用时,一般先在窗体上加入一个BindingSource组件,接着将BindingSource组件绑定至数据源,最后再将窗体上的控件绑定至BindingSource组件。通常将BindingNavigator控件与BindingSource组件搭配使用,以便浏览BindingSource组件的数据源。

    数据绑定的示意图如图1所示:

     

    1、数据绑定的具体步骤如下:

    (1)设置BindingSource组件的DataMember、DataSource属性:

    DataSet ds = new DataSet();

    OleDbDataAdapter da= new OleDbDataAdapter(sql,conn);

    da.Fill(ds, "user"); //产生数据源,即DataSet组件

    bdsUser.DataMember = ds.Tables[0].TableName; //bdsUser为BindingSource组件

    bdsUser.DataSource = ds;

    (2)控件调用数据绑定方法:

    public Binding Add (

             string propertyName,

             Object dataSource,

             string dataMember

    )

    propertyName

    要绑定的控件属性的名称。

    dataSource

    表示数据源的 Object。

    dataMember

    要绑定到的字段名称。

    2、常用控件的数据绑定方法

    (1)文本框数据绑定

    一般对文本框的Text属性进行数据绑定,代码如下:

    txtName.DataBindings.Add("Text", bdsUser, "用户名");

    (2)组合框数据绑定

    可分别对组合框的ValueMember、 DisplayMember属性进行数据绑定:

    cmbPriority.ValueMember = "qx";

    cmbPriority.DisplayMember = "qx";

    cmbPriority.DataSource =bdsQx;

    另外,还可对SelectedValue属性进行数据绑定

    cmbPriority.DataBindings.Add("SelectedValue", bdsUser, "权限");

    (3)DataGridView数据绑定

    DataGridView控件提供强大、灵活的以表格形式显示数据的功能。可通过设置DataSource属性为DataGridView控件绑定数据源:

    dgvUser.DataSource = bdsUser;

    BindingNavigator控件是一组用来浏览与处理窗体数据源的标准按钮,包括:第一条、上一条、下一条、最后一条以及数据记录总数。且BindingNavigator控件继承了ToolStrip类的所有特性与功能,它同样扮演了容器的角色,可以包含ToolStripLabel、ToolStripTextBox、ToolStripButton等控件。我们可以在窗体设计阶段从下列列表框中选择要添加至BindingNavigator的ToolStripItem控件,如图2所示:

    使用时,通常将BindingNavigator控件的BindingSource属性设置成要浏览的BindingSource组件,如:

    bdnUser.BindingSource = bdsUser;

    4、综合使用上述控件,可以完成一个基本的管理信息系统,程序运行界面如图3所示:

    完整的代码就不再赘叙,可点击下载(说明:为简化代码,数据库中未建立权限表)。

  • 相关阅读:
    安信天行全方位信息安全态势感知平台建设与运营
    SQL基础总结——20150730
    中兴推“小兴看看”,诠释智能家电的真谛
    Java 线程第三版 第九章 Thread调度 读书笔记
    3930: [CQOI2015]选数|递推|数论
    S​D​I​与​A​S​I 接口具体解释介绍
    通过双重for循环来找到JSON中不反复的数据
    蓝桥杯 2016/3/17 測试 前6题题解...
    [疯狂Java]JDBC:事务管理、中间点、批量更新
    Linux下搭建Memcached缓存系统
  • 原文地址:https://www.cnblogs.com/bobo41/p/3054265.html
Copyright © 2020-2023  润新知