首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 操作系统-> 注册表教程
在 ADO.NET 数据集中浏览多个相关表(3)-.NET教程,数据库应用
作者:网友供稿 点击:11
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
显示数据
  此应用程序使用组合框、列表框和 rtf 文本框来选择和显示数据。
  
  添加选择和显示数据的控件
  
  在 solution explorer(解决方案资源管理器)中,右键单击 form1(.cs 或 .vb,取决于应用程序的语言),然后从快捷菜单中选择 view designer(视图设计器)。
  在窗体的左半部,添加一个 listbox 控件,并将其 name 属性设置为 lborders。
  在窗体的右半部,添加一个 richtextbox 控件,并将其 name 属性设置为 rtbdetails。
  在列表框的上方,添加一个 combobox 控件,并将其 name 属性设置为 cbcustomers。
  保存项目。
  
  
  图 1:建议的窗体控件布局
  
  现在,可以开始向应用程序添加功能了。
  
  设置显示公司名称的组合框
  
  选择组合框 (cbcustomers) 并设置以下属性: 属性 设置
  datasource dsnorthwind1
  displaymember customers.companyname
  valuemember customers.customerid
  
  用数据填充表
  要用数据填充表,必须为应用程序添加代码。
  
  在数据集 (dsnorthwind1) 中的客户表和订单表中填充数据
  
  双击窗体上的一块空白区域,为 form1_load 事件创建事件处理程序。
  添加以下代码:
  
   visual basic
  private sub form1_load(byval sender as system.object, _
  byval e as system.eventargs) handles mybase.load
   关闭数据集中的约束。
  dsnorthwind1.enforceconstraints = false
   用数据填充表。
  daorders.fill(dsnorthwind1)
  dacustomers.fill(dsnorthwind1)
  
   重新开启约束。
  dsnorthwind1.enforceconstraints = true
  end sub
  
  // c#
  private void form1_load(object sender, system.eventargs e)
  {
  // 关闭数据集中的约束。
  dsnorthwind1.enforceconstraints = false;
  
  // 用数据填充表。
  daorders.fill(dsnorthwind1);
  dacustomers.fill(dsnorthwind1);
  
  // 重新开启约束。
  dsnorthwind1.enforceconstraints = true;
  }
  
  
  
  保存项目。
  按 f5 键运行该应用程序。现在组合框中包含一个公司名称列表。
  关闭窗体。
  在两个表中浏览相关记录
  这里简要介绍一下如何在数据集中构成一对多关系的两个表之间访问数据。在选择一个数据行之后,可以通过调用 getchildrows 或 getparentrow 方法并向该数据行传递适当的数据关系来返回其相关记录。
  
  注意:getchildrows 方法将以 datarow 对象数组的形式返回数据,而 getparentrow 方法只返回一个单个的数据行。
  要演示这一功能,需要给应用程序添加一些代码,以返回组合框中选定客户的所有订单(子行)。更改组合框中的选定客户会引发 combobox.selectedindexchanged 事件,列表框中将填充该选定客户的每个订单的订单 id。
  
  您可以根据组合框中选定的客户,调用 getchildrows 方法。订单表中的所有相关记录都将分配给名为 draorders 的数据行数组。
  
  注意:下一节将添加在列表框中显示相关订单列表的功能。为确认数组中确实包含相关的记录,数组的长度(即选定客户的订单总数)将显示为窗体的标题。
  创建获取选定客户的订单的事件处理程序
  
  在 solution explorer(解决方案资源管理器)中,右键单击 form1 并从快捷菜单中选择 view designer(视图设计器)。
  双击组合框为 selectedindexchanged 事件创建事件处理程序。
  添加以下代码:
  
   visual basic
  private sub cbcustomers_selectedindexchanged _
  (byval sender as system.object, byval e as system.eventargs) _
  handles cbcustomers.selectedindexchanged
   声明一个用来保存选定客户的客户 id 的字符串。
  dim selectedcustomerid as string
  selectedcustomerid = cbcustomers.selectedvalue.tostring()
   声明一个用来保存选定客户的记录的数据行。
  dim drselectedcustomer as datarow
  drselectedcustomer = _
  dsnorthwind1.customers.findbycustomerid _
  (selectedcustomerid)
   声明一个用来保存相关记录的数据行数组。
  dim draorders as datarow()
  draorders = drselectedcustomer.getchildrows("customersorders")
   在窗体标题中显示数组的长度(订单数)
   和客户 id。
  me.text = draorders.length.tostring() & " 订单所有者 " & _
  selectedcustomerid
  end sub
  
  // c#
  private void cbcustomers_selectedindexchanged
  (object sender, system.eventargs e)
  {
  // 声明一个用来保存选定客户的客户 id 的字符串。
  string selectedcustomerid;
  selectedcustomerid = cbcustomers.selectedvalue.tostring();
  
  // 声明一个用来保存选定客户的记录的数据行。
  datarow drselectedcustomer;
  drselectedcustomer =
  dsnorthwind1.customers.findbycustomerid(selectedcustomerid);
  
  // 声明一个用来保存相关记录的数据行数组。
  datarow[] draorders;
  draorders = drselectedcustomer.getchildrows("customersorders");
  
  // 在窗体标题中显示数组的长度(订单数)
  // 和客户 id。
  this.text = draorders.length.tostring() +
  " 订单所有者 " + selectedcustomerid;
  }
  
  
  
  保存项目。
  运行应用程序。
  选择另一个客户,并检查窗体标题。将显示选定客户的订单总数及其客户 id。

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·更改internet explorer的图标
·C#中的类型转换-.NET教程,C#语言
·找回flash的序列号sn
·更改ie的图标
·如何让你的VB6 IDE支持鼠标滚轮(过程)-.NET教程,VB.Net语言
·正则表达式Replace-.NET教程,Asp.Net开发
·Windows 2003下不注册组件用ASP发邮件-ASP教程,邮件相关
·防止ie被恶意修改的初级技巧
·asp.net实现分组全选部分复选框-ASP教程,ASP应用
·清理ie网址列表
最新文章
·seo新手教程:title的写法_seo网站优化
·从注册表下手 切断一切黑客入侵的路径_注册表教程
·用flash 8 as代码写摄像头拍照功能_flash教程
·小站长赚钱思路:ip不到1000,一个月赚940元_网赚技巧
·陈艺光:网络游戏平台与游戏网站实现共赢_站长访谈
·留住访客 如何最优化设计网站的首页?(2)_站长心得
·为什么在google上搜不到我的网页?_google推广
·google的秘密 搜索引擎利用软件的魔力加快奔跑_google推广
·域名与网站排名_站长心得
·怎样避免被搜索引擎视为作弊_站长心得
相关主题
  • 在 ADO.NET 数据集中浏览多个相关表(6)-.NET教程,数据库应用
  • 在 ADO.NET 数据集中浏览多个相关表(5)-.NET教程,数据库应用
  • 在 ADO.NET 数据集中浏览多个相关表(4)-.NET教程,数据库应用
  • 在 ADO.NET 数据集中浏览多个相关表(2)-.NET教程,数据库应用
  • 在 ADO.NET 数据集中浏览多个相关表(1)-.NET教程,数据库应用
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭