VB.NET修改数据窗体向导相关问题解疑

开发 后端
VB.NET修改数据窗体向导的相关操作方法以及在这一操作过程中出现问题的解决方法都将会在这篇文章中进行详细的介绍。

VB.NET对于窗体的操作对于经常使用VB.NET语言进行开发的人员来时已经不是什么很难的问题了。不过其中还是有些小的应用技巧,需要我们不断的积累经验才能真正的掌握其中的精髓之处。比如今天为大家介绍的VB.NET修改数据窗体向导的应用技巧等。

使用数据窗体向导(Data Form Wizard)你能迅速获得文件操作程序窗体。为了使用它,选择Project菜单的Add New Item,接着选择Data Form(数据窗体)。该向导将一步一步帮助你指定希望的数据,并为那些数据建立一个文件操作程序。图1显示了一个从Northwind数据库的Products表中产生的数据窗体。

VB.NET修改数据窗体向导

图1 Northwind Products表的文件维护窗体,它由数据窗体向导产生

但是这种自动生成程序有一个重要的限制。如果被访问的数据有任何字段不能为空(因为数据库大纲不允许空值),那么向导生成的程序不能添加记录。当点击Add按钮时,将出现错误信息,提示记录中的***个字段不允许为空(如果你没有***的服务包,你也许看不到该错误信息,但是程序拒绝添加记录)。

该问题是由于VB.NET修改数据窗体向导时使用BindingContext对象给绑定的数据表添加了一行。下面是btnAdd_Click事件程序失败的代码:

  1. Me.BindingContext(objProducts, "Products").ddNew() 

解决方法是为新行略过BindingContext对象。下面是添加新行的典型代码,该代码应该代替上面的一行代码:

  1. Dim dr As DataRow  
  2. dr = objProducts.Tables("Products").NewRow  
  3. dr.Item("ProductName") = ""  
  4. dr.Item("Discontinued") = False  
  5. ' Set any other fields that cannot null to default values.  
  6. objProducts.Tables("Products").Rows.Add(dr)  

在用数据表的NewRow方法获得一个空行时,该代码给不能为空的字段填充值。接着数据表接受新行,通过数据表行集合的Add方法添加新行。

有了这个补丁后,该数据程序能够运行。可以对它进行增强或改变,例如改变SupplierID 和CategoryID字段以从包含供应商和类别的下拉列表中选择。

VB.NET修改数据窗体向导的相关应用方法就为大家介绍到这里。

【编辑推荐】

  1. VB.NET转换运算符代码示例解读
  2. VB.NET Property过程也称属性访问器
  3. VB.NET运算符组合正确实现方式
  4. 两种VB.NET串联运算符应用方式解读
  5. VB.NET分析电子邮件地址示例解读
责任编辑:曹凯 来源: wewill.cn
相关推荐

2010-01-14 15:55:02

VB.NET数据窗体向

2010-01-11 18:05:24

VB.NET窗体继承

2010-01-08 14:07:47

VB.NET窗体传值

2009-10-14 13:56:05

VB.NET数据窗体

2010-01-08 17:12:03

VB.NET短路判断

2009-11-03 10:30:47

VB.NET继承

2010-01-12 13:54:12

VB.NET MDI子

2009-11-03 17:31:01

VB.NET窗体

2009-10-14 15:34:29

VB.NET窗体编程模

2009-10-14 15:20:21

VB.NET窗体指针

2010-01-11 15:12:30

VB.NET特殊窗体

2009-10-09 16:54:03

VB.NET窗体

2009-10-16 09:35:24

VB.NET制作透明窗

2010-01-13 09:31:39

VB.NET窗体打印

2009-11-10 15:07:11

VB.NET窗体

2010-01-13 15:52:59

VB.NET浮动窗体

2009-10-26 17:53:50

VB.NET新窗体

2010-02-05 16:07:52

C++多态覆盖

2009-12-31 15:28:02

Silverlight

2010-01-04 13:15:33

跨域引用Silverl
点赞
收藏

51CTO技术栈公众号