博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataColumn.Expression属性
阅读量:2445 次
发布时间:2019-05-10

本文共 2408 字,大约阅读时间需要 8 分钟。

       下面的示例在 DataTable 中创建三个列。第二和第三列包含表达式;第二列使用可变税率计算税款,第三列将计算的结果添加到第一列的值。结果表显示在  控件中。

1 private void CalcColumns() 2 { 3     DataTable table = new DataTable (); 4   5     // Create the first column. 6     DataColumn priceColumn = new DataColumn(); 7     priceColumn.DataType = System.Type.GetType("System.Decimal"); 8     priceColumn.ColumnName = "price"; 9     priceColumn.DefaultValue = 50;10      11     // Create the second, calculated, column.12     DataColumn taxColumn = new DataColumn();13     taxColumn.DataType = System.Type.GetType("System.Decimal");14     taxColumn.ColumnName = "tax";15     taxColumn.Expression = "price * 0.0862";16      17     // Create third column.18     DataColumn totalColumn = new DataColumn();19     totalColumn.DataType = System.Type.GetType("System.Decimal");20     totalColumn.ColumnName = "total";21     totalColumn.Expression = "price + tax";22 23     // Add columns to DataTable.24     table.Columns.Add(priceColumn);25     table.Columns.Add(taxColumn);26     table.Columns.Add(totalColumn);27 28     DataRow row = table.NewRow();29     table.Rows.Add(row);30     DataView view = new DataView(table);31     dataGrid1.DataSource = view;32 }

 

  1.  在创建表达式时,使用  属性来引用列。例如,如果一个列的 ColumnName 是“UnitPrice”,而另一个是“Quantity”,则表达式将是:"UnitPrice * Quantity"。 

  2.  在为筛选器创建表达式时,用单引号将字符串括起来: "LastName = 'Jones'" 

  3.  用户定义的值可以用在将与列值进行比较的表达式内。字符串的值应括在单引号内。日期值应放在磅符号 (#) 内。对于数值,允许使用小数和科学记数法。

      例如:"FirstName = 'John'"     "Price <= 50.00"     "Birthdate < #1/31/82#" 

      对于包含枚举值的列,将值强制转换为整数数据类型。例如:"EnumColumn = 5"

  4. 通配符

      在 LIKE 比较中,* 和 % 两者可以互换地作为通配符。如果 LIKE 子句中的字符串包含 * 或 %,那么这些字符应用中括号([])对其进行转义。如果子句中有中括号,那么中括号字符应用中括号对其进行转义(例如 [[] 或 []])。在模式的开头和结尾,或者在模式的结尾,或在模式的开头,都允许使用通配符。例如:

      "ItemName LIKE '*product*'"

      "ItemName LIKE '*product'"

      "ItemName LIKE 'product*'"

     在字符串的中间不允许使用通配符。例如,不允许 'te*xt'。

  5.  父/子关系引用 

       通过在列名称前面加 Parent,就可以在表达式中引用父表。例如,Parent.Price 引用父表的名为 Price 的列。

       通过在列名称前面加一个 Child,就可以在表达式中引用子表中的列。但是,因为子关系可以返回多行,所以必须在聚合函数中包括对子列的引用。例如,Sum(Child.Price) 将返回子表中名为 Price 的列的总和。

    如果某个表有多个子表,则语法是:Child(RelationName)。例如,如果某个表有两个子表,它们的名称分别为 Customers 和 Orders,并且  对象被命名为Customers2Orders,则引用将为:Avg(Child(Customers2Orders).Quantity)

  6. IsNull 

      例如:myDataColumn.Expression="IsNull(price, -1)"

  7. IIF 

       例如:myDataColumn.Expression = "IIF(total>1000, 'expensive', 'dear')

  8. SubString 

     格式: SUBSTRING(expression, start, length)

     myDataColumn.Expression = "SUBSTRING(phone, 7, 8)"

  9. Len 

     myDataColumn.Expression="Len(ItemName)"

转载地址:http://svxqb.baihongyu.com/

你可能感兴趣的文章
slim3框架 教程_SLIM 3入门,PHP微框架
查看>>
谷歌中阻止冒泡在火狐中失效_如何在Google表格中转换货币
查看>>
wps表格日期计算天数_如何计算Google表格中两个日期之间的天数
查看>>
如何使Linux控制台更易于Linux新手使用
查看>>
谷歌浏览器开发文档获取书签_使用书签更快地浏览Word文档
查看>>
如何在Apple Watch上启用和使用缩放
查看>>
初学者:如何在Outlook 2010中向其他人分配任务
查看>>
windows 10 修复_如何修复Windows的10大烦恼
查看>>
系统映像恢复 进不了系统_如何从Windows系统映像中恢复特定文件
查看>>
如何学习Photoshop的极客指南,第2部分:面板
查看>>
如何在iPhone上将实时照片转换为视频或GIF
查看>>
xbmc_从iPhone或iPod Touch控制XBMC
查看>>
编程爱好者网站_读书爱好者的最佳免费网站
查看>>
为什么运行微波会杀死Wi-Fi连接?
查看>>
matlab生成文本乱码_如何生成完全随机/乱码文本的段落
查看>>
siri捷径调用谷歌翻译_告诉它使用Google助理,以减少Siri的麻烦
查看>>
outlook转发邮件步骤_Microsoft Outlook中的快速步骤指南
查看>>
macos 托盘文件预览_如何在Ubuntu的文件管理器中快速预览文件(如macOS中的“ Quick Look”)...
查看>>
macos 快速启动启动台_无法获取macOS通知? 这是解决方法(无需重新启动)
查看>>
为什么您可能不应该将您的企业网站运出家门
查看>>