您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp.net >> 正文

在 ADO.NET 数据集中浏览多个相关表(6)

作者:作者:Mi…    信息学院来源:网络收集    点击数:    更新时间:2006-8-28 我要参与讨论

       表达式列
  除了包含静态数据外,还可以基于表达式的结果为 DataColumn 分配值。表达式是一个分配给 DataColumn.Expression 属性的字符串。
  
  当表达式与相关数据一同使用时,数据列可以包含:
  
  相关数据列的计算所得值。
  相关数据列的合计信息。
  相关数据的逻辑比较结果。
  为说明处理相关数据时的值表达式列,我们将针对每种使用情况介绍一个示例,并添加到 DataRelationExample 应用程序中。
  
  添加包含计算值的表达式列
  计算的列包含数学运算结果。可以从现有的列中取值进行计算。订单明细表中将添加一个名为 Total 的新列,它将包含由表达式 UnitPrice * Quantity 返回的值(订单的总计美元值)。
  
  添加表达式列
  
  在 Solution Explorer(解决方案资源管理器)中,右键单击 Form1 并从快捷菜单中选择 View Code(查看代码)。
  将以下代码添加到 Form1_Load 事件处理程序中已有代码之上:
  
  ' Visual Basic
  ' 在订单明细表中创建名为 Total 的表达式列。
  Dim dcTotal as DataColumn = new DataColumn("Total")
  dcTotal.DataType = System.Type.GetType("System.Decimal")
  dcTotal.Expression = "UnitPrice * Quantity"
  DsNorthwind1.Order_Details.Columns.Add(dcTotal)
  // C#
  // 在订单明细表中创建名为 Total 的表达式列。
  DataColumn dcTotal = new DataColumn("Total");
  dcTotal.DataType = System.Type.GetType("System.Decimal");
  dcTotal.Expression = "UnitPrice * Quantity";
  dsNorthwind1.Order_Details.Columns.Add(dcTotal);
  
  
  
  运行应用程序。
  在列表框中选择一个订单,
  检查 RTF 文本框中的订单明细,并注意每个记录都有一个新的 Total 列,显示 UnitPrice 和 Quantity 字段的乘积。
  
  关闭窗体。
  添加包含合计信息的表达式列
  Expression 属性支持几个合计功能(Sum、Avg、Count 等)。有关详细信息,请参阅 DataColumn.Expression 属性。
  
  为演示如何生成合计信息,需要在订单表中添加一个名为 OrderTotal 的新列。此列将使用 Sum 功能,根据在列表框 (lbOrders) 中选定的订单返回所有子订单明细记录的总计美元值。然后,该值将显示在 RTF 文本框中每个订单明细的上方。
  
  创建 OrderTotal 列
  
  在 Solution Explorer(解决方案资源管理器)中,右键单击 Form1 并从快捷菜单中选择 View Code(查看代码)。
  在 Form1_Load 事件处理程序中,将以下代码添加到在订单明细表中创建 Total 列的代码的下方:
  
  ' Visual Basic
  ' 在订单表中创建名为 OrderTotal 的表达式列。
  Dim dcOrderTotal as DataColumn = new DataColumn("OrderTotal")
  dcOrderTotal.DataType = System.Type.GetType("System.Decimal")
  dcOrderTotal.Expression = "Sum(Child.Total)"
  DsNorthwind1.Orders.Columns.Add(dcOrderTotal)
  // C#
  // 在订单表中创建名为 OrderTotal 的表达式列。
  DataColumn dcTotal2 = new DataColumn("OrderTotal");
  dcTotal2.DataType = System.Type.GetType("System.Decimal");
  dcTotal2.Expression = "Sum(Child.Total)";
  dsNorthwind1.Orders.Columns.Add(dcTotal2);
  
  
  
  将合计信息显示在所有订单明细的上方
  

[1] [2] [3] 下一页

在google里搜索更多在 ADO.NET 数据集中浏览多个相关表(6)

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明