VisualBasic中DataCombo和DataList控件的使用

2016-02-19 13:33 16 1 收藏

下面这个VisualBasic中DataCombo和DataList控件的使用教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - 编程语言 】

使用DataCombo和DataList控件
  
  DataCombo和DataList控件与标准列表框和组合框控件极为相似,但有一些重要的不同之处,这种不同使这两个控件在数据库应用程序中具有极大的适应性和用武之地。这两个控件都可以被这些控件所绑定的数据库字段自动填充。此外,它们还能有选择地将一个选定的字段传递给第二个数据控件,从而适合用于创建“查找表”应用程序。
  可能的用法
  1.在一个关系数据库中,使用一个表的数据来提供要输入给第二个(相关的)表值。例如,在一个存货清单数据库中,供应商的名称存储在一个表中,每个供应商都有一个唯一的标识符。另一个显示产品的表则使用这些标识符来表明是哪个供应商供应的该产品。可以使用DataList控件来显示供应商的名称,而(不可见地)将供应商的标识符提供给产品表。
  2.允许用户通过从一个下拉列表中选择一种标准来缩小搜索范围。例如,一个销售报告的数据库应用程序可以使用一个DataList控件让用户选择一个州(State)或一个销售区域。一旦作出选择,则该选择项将自动传递给第二个数据控件,这个控件负责查找选定区域的销售记录。
  与它们对应的内在控件一样,DataList和DataCombo控件之间的主要不同在于DataCombo控件提供了一个可以在其中编辑内容的文本框。
  详细信息有关DataList和DataCombo控件连接数据库表能力的说明,请参阅“使用DataCombo和DataList控件连接两个表”。要创建一个简单的使用链接表的数据库应用程序,请参阅“创建一个简单的DataCombo应用程序”。
  
  值得注意的控件属性
  DataList和DataCombo控件的一些重要属性包括:
  
  注意DataCombo控件的DataFormat属性是一个Extender属性。因此在属性表上它总是可见的,并且可以在代码中设置。然而,DataCombo控件仅对其列表中最上端的项格式化。对于看到已格式化的顶端项的最终用户来说,这一点可能不太重要,只要从未格式化的列表中选择即可。已格式化的项可能也会误导最终用户,使他们以为项目要在格式化之后再输入数据库。由于这些原因,建议在使用DataCombo控件时不要设置DataFormat属性。
  详细信息如果要使用一个演示BoundText属性用法的循序渐进教程,请参阅“创建一个连接DataList控件的DataGrid”。关于这些控件的属性和方法的完整列表,请参阅“DataList控件”和“DataCombo控件”。
  
  使用DataCombo和DataList控件连接两个表
  DataCombo和DataList控件与众不同的特性是具有访问两个不同的表,并且将第一个表的数据链接到第二个表的某个字段的能力。这是通过使用两个数据源完成的(诸如ADOData控件或Data环境)。
  
  关系表和“不友好的”值
  在一个关系数据库中,对于重复使用的信息并不是在多个地方都保存其全部的信息。大多数这种信息都保存在由多个字段组成的一个记录集中;在这些字段中有一个“标识符”字段来唯一地标识这个记录集。例如,VisualBasic提供的Biblio数据库在一个名为"Publishers"的表中存储了若干个出版公司的名称。这个表包括很多字段,诸如地址、城市、邮政编码以及电话号码等。但是为了简单起见,只考虑这个表的两个本质字段Name和PubID字段。Name字段存储一个出版商的名称,而PubID字段则存储一个相对“不友好的”值,如一个数或代码。但这个不友好的值是很重要的,因为这个值唯一地标识该出版商,并且可以作为一种链接整个记录集的手段。此外,这个值会存储在第二个表中的多个记录集中。
  第二个表的名称为"Titles",其每个记录集包含的信息包括标题、出版年份、国际标准书号ISBN等。在这些字段中有一个字段的名称就是"PubID"。这个字段的名称与Publishers表中的相应字段的名称相同,因为这个字段存储了将该标题和一个特定的出版商链接在一起的值。
  这种可行方案提出了一个小问题:给定一个允许用户插入新标题的数据库应用程序,用户必须用某种方法输入标识出版商的整数。如果用户能记住每个出版商的唯一标识符,那么也还是可行的,不过如果一方面用户能看到出版商的名称,另一方面存入应用程序的又是数据库中相应的值,则会显得更加方便。而DataList和DataCombo控件就可以轻松地解决这个问题。
  
  两个数据源、三个字段、无编码
  DataList和DataCombo控件使用两个数据源来解决这个问题。在只显示出版商的名称(来自Publishers表)的同时,DataList或DataCombo控件只将PubID字段的值写入到Titles表。通过“属性”窗口,将RowSource设置为提供要写入的数据的数据源(即Publishers表)。然后将DataSource属性设置为要写入数据的数据源(即Titles表)。最后,设置DataField、ListField以及BoundColumn属性。下图演示了如何将两个数据源(以两个Data控件的形式)以及三个字段指定给一个DataCombo控件:
  
  简要而言,ListField属性决定该控件所显示的是哪一个字段。在本例中就是出版商的名称。另一方面,BoundColumn属性则决定Publishers表中由哪一个字段向Title表供应实际所需的值。注意Publishers表中的PubID字段不能(也不应该)被编辑。相反,在PubID字段中的值将写入到由DataField属性所指定的字段。在本例中,这个属性就是Titles表中的PubID字段。
  下表概要地介绍这些属性及其使用方法。
  
  注意DataList和DataCombo控件也可以与单个数据控件一起使用。要实现这一点,可以将DataSource和RowSource属性设置为同一个数据控件,并且将DataField和BoundColumn属性设置为该数据控件的记录集中的同一个字段。在这种情形下,将使用ListField的值来填充该列表,且这些值来自于被更新的同一个记录集。如果指定了一个ListField属性,但没有设置BoundColumn属性,则BoundColumn将自动被设置为ListField字段。
  详细信息如果想使用DataCombo控件循序渐进地创建一个简单的数据库应用程序,请参阅“创建一个简单的DataCombo应用程序”。
  

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)->

来源:http://www.tulaoshi.com/n/20160219/1604654.html

延伸阅读
循环结构 循环结构允许重复执行一行或数行代码。VisualBasic支持的循环结构有: 1.Do...Loop 2.For...Next 3.ForEach...Next Do...Loop 用Do循环重复执行一语句块,且重复次数不定。Do...Loop语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同If...Thencondition必须是一个数值或者值为...
----Grid控件是VisualBasic最常见控件之一,从VB3.0到VB5.0都有该控件。也是VB爱好者最喜爱的工具之一。用它可以以表格的形式显示、浏览数据,特别是数据库应用,直接绑定即可显示浏览数据库信息。然而,美中不足的是Grid没有编辑和打印功能,列与列的位置不能相互交换。笔者曾尝试着给Grid增添了这些功能,使之锦上添花,功能更强大。下面给出...
一、Date Picker控件 1.简单介绍: Date Picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何改成中文的? (1)查看当前系统是否为中文的,把模拟器改成是中文的 (2)属性,locale选择地区 如果默认显示不符合需求。时间有四种模式可以设置,在model中进行设置 时间可以自定义(custom)。 设置最小时间和最大时间,超过就会...
Progress控件能让人们感受到一个应用程序执行的进度,在很多应用程序中都能用到它,但通常只支持在单任务中,在Windows98/NT中文操作系统下,在VC++6.0环境下,利用线程编制了一个非常小巧的应用程序来实现Progress控件的使用。它可以支持多线程,使用起来很方便。以下是这个应用程序的源代码: //ProgressDialog.h class CProgressD...
1防止程序被重复运行 如果你不希望你的VB应用程序被别人通过多次双击图标而重复运行,导致内存不足或其它意外,你可以在程序中增加以下几行: PrivateSubForm_Load ifappprevinstancethen msgbox″程序正在运行,请检查窗口是否被最小化。″ endif EndSub 2用Ucase函数保障文件操作...

经验教程

799

收藏

90
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部