帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统v4.6
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程 >
在 ADO.NET 数据集中浏览多个相关表(4)
作者:Microsoft 发布时间:2005-03-12 来源:ASPCOOL
     显示相关记录
  现在您已经有了选定客户的相关记录(存储在数据行数组中),您可以显示它们以便与用户进行交互。应用程序将逐一访问 GetChildRows 方法返回的数据行数组中的数据,并将每个相关记录的“订单 ID”作为单独的项添加到列表框中。
  
  注意:虽然此示例将逐一访问相关数据行数组中的数据,但列表框可能已经使用属性窗口,通过 DataSource 属性、DataMember 属性和 ValueMember 属性被绑定到相关的记录。
  在列表框中显示相关记录
  
  在 Solution Explorer(解决方案资源管理器)中,右键单击 Form1 并从快捷菜单中选择 View Code(查看代码)。
  在前面步骤中创建的组合框的 SelectedIndexChanged 事件处理程序中,将以下代码添加到处理程序中已有代码之下:
  
  ' Visual Basic
  ' 当更改选定客户时,清除订单列表。
  lbOrders.Items.Clear()
  rtbDetails.Text = ""
  ' 将每个相关订单的订单 ID 添加到列表框中。
  Dim drOrder As DataRow
  For Each drOrder In draOrders
  lbOrders.Items.Add(drOrder("OrderID"))
  Next
  
  // C#
  // 当更改选定客户时,清除订单列表。
  lbOrders.Items.Clear();
  rtbDetails.Text = "";
  
  // 将每个相关订单的订单 ID 添加到列表框中。
  foreach(DataRow drOrder in draOrders)
  {
  lbOrders.Items.Add(drOrder["OrderID"]);
  }
  
  
  
  
  保存项目。
  运行应用程序。
  列表框中将显示订单列表。在组合框中选择另一个客户,订单列表将被更新。
  
  关闭窗体。
  在三个或更多表中浏览相关记录
  浏览三个或更多表与处理两个表一样简单。要了解如何处理两个以上的表,请将订单明细表和产品表添加到 dsNorthwind 数据集中。在列表框中选定一个订单后,该订单的详细信息即显示在 RTF 文本框中。
  
  为了满足约束规则,您需要删除现有的数据关系,将来再重新创建。
  
  暂时删除 dsNorthwind 数据集中的 DataRelation
  
  在 Solution Explorer(解决方案资源管理器)中,双击 dsNorthwind.xsd 以在 XML Designer(XML 设计器)中打开它。
  选择现有的 CustomersOrders 关系并将其删除。
  保存项目。
  现在您需要将另外两个表添加到现有数据集中,并创建新的 DataRelation 对象以将所有表连在一起。
  
  将订单明细表和产品表添加到 dsNorthwind 数据集中
  
  在 Solution Explorer(解决方案资源管理器)中,右键单击 Form1 并从快捷菜单中选择 View Designer(视图设计器)。
  将“订单明细”表从 Server Explorer(服务器资源管理器)中拖到窗体上。组件栏中将显示一个新的数据适配器。
  选择该新的数据适配器并将其 Name 属性设置为 daOrderDetails。
  将“产品”表从 Server Explorer(服务器资源管理器)中拖到窗体上。组件栏中将显示一个新的数据适配器。
  选择该新的数据适配器并将其 Name 属性设置为 daProducts。
  新表只是被添加到了窗体上,因此每次添加额外的表时,都必须重新生成数据集。
  
  重新生成 dsNorthwind 数据集
  
  从 Data(数据)菜单中,选择 Generate Dataset(生成数据集)。
  提示:将光标移到窗体上即可使用 Data(数据)菜单。
  单击 Existing(现有),然后选择 dsNorthwind 数据集。
  选择所有四个表(客户表、订单表、订单明细表和产品表)。
  清除 Add this dataset to the designer(将此数据集添加到设计器)复选框,然后单击 OK(确定)。将生成带有附加表的数据集。
  注意:如果出现一个对话框,其中说明“The file has been modified outside of the source editor. Do you want to reload it?”(文件已在源编辑器之外被修改。是否要重新加载?),请单击 Yes(是)。
  请记住,生成数据集并不能自动创建数据集中各表之间的关系。
  
  

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·在 ADO.NET 数据集中浏览多个相关  (2005-03-12)
 ·在 ADO.NET 数据集中浏览多个相关  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·帝国网站管理系统采集使用教程
·帝国网站管理系统模板制作教程
·帝国CMS模板下载
·Discuz6.0.1UC版通行证发布
·帝国网站管理系统之网站迁移教程
·帝国网站管理系统实例入门教程下载
·《帝国网站管理系统》实例入门教程
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统