• 将SQLServer数据库中的Image字段绑定到PictureBox控件及DataBindings属性


    对于文本类字段,可以使用使用如下代码绑定数据:

    'textbox1的数据源,name是数据库中的字段,dt是datatable
    Me.TextBox1.DataBindings.Add("Text", dt, "name")

    但对于图像字段,使用如下代码则是错误的:

    'picturebox1的数据源,Picture是数据库字段名,dt是DataTable
    Me.PictureBox1.DataBindings.Add("Image", dt, "Picture", True)

    可以使用如下的代码将Image类型的数据绑定到PictureBox控件:

    'picturebox1的数据源,Picture是数据库字段名,dt是DataTable
    Me.PictureBox1.DataBindings.Add(New Binding("Image", dt, "Picture", True))

    转载文章:

    用DataBindings属性绑定控件的值

     

      WinForm中的很多控件,如Label、TextBox等都包含DataBindings属性,其类型为ControlBindingsCollection,是Binding类的集合。Binding类代表某对象属性值和某控件属性值之间的简单绑定。如可以将TextBox的Text属性值绑定到Label的Text属性值,这样,当TextBox中的文本被修改的时候,Label的文本也会及时进行修改,如下面的代码所示:

    label1.DataBindings.Add("Text", textBox1, "Text");

      Binding类除了可以将对象的属性绑定到控件的属性之外,还可以将对象列表中当前对象的属性值绑定到控件的属性。

      当使用Binding的构造函数创建实例时,必须指定三项内容:

    • 要绑定到的控件属性的名称
    • 数据源
    • 数据源中解析为列表或属性的导航路径

    其中,数据源可以为:

    • 实现 IBindingList 或 ITypedList 的任何类。包括:DataSet、DataTable、DataView 或 DataViewManager。
    • 实现 IList 的任意索引集合类。(必须在创建 Binding 之前创建和填充该集合,并且列表中的所有对象必须为同一类型,否则将引发异常)
    • 强类型对象的强类型 IList。

      导航路径可以为空字符串(默认将调用数据源的ToString()方法)、单个属性名称或用点分隔的名称层次结构。

      名称层次结构是什么意思呢?比如我们有一个Company类,它包含Name属性和Employees属性(公司所有Employee的集合),而Employee类又包含Name属性。那么,如果要将Company的Name属性绑定到TextBox控件的Text属性,代码为:

    TextBox1.DataBindings.Add("Text", company, "Name");
    如果要绑定Employees的Name属性,代码为:
    TextBox1.DataBindings.Add("Text", company, "Employees.Name");
    Employess.Name即为用点分隔的名称层次结构。在这里,Employees为一个集合,将Employees.Name绑定到TextBox会出现什么情况呢?测试后可知,TextBox将显示Employees集合中第一个Employee的Name属性。

      Binding类包含两个十分重要的事件:Format和Parse,可以创建自定义的格式来显示数据。具体可以参考MSDN。

      问题:如果将TextBox2的Text属性作为数据源绑定到TextBox1的Text属性,那么修改TextBox1的Text之后,将焦点移动到TextBox2上,其Text值就变为TextBox1的Text值了。这一点如何解决,我还没有找到比较好的方法,用Parse事件似乎也不行

  • 相关阅读:
    FLASH开发[00]
    slickedit使用小技巧
    网络编程[34]
    网络编程[39]
    网络编程[41]
    网络编程[37]
    网络编程[32]
    网络编程[35]
    Apache安装和配置
    网络编程[40]
  • 原文地址:https://www.cnblogs.com/shuiguang/p/2091487.html
Copyright © 2020-2023  润新知