標籤:expression object filter 運算式 最大值
作用:
計算用來傳遞篩選條件的當前行上的給定運算式。
格式為:
Object Compute (string expression,string filter)
參數:
expression:要計算的運算式。 expression 參數需要彙總函式。
filter:要限制在運算式中進行計算的行的篩選器。 如:“Menu_ID=5” //表示Menu_ID為5的行
傳回值:
為Object型,為計算結果。
Expression說明:
Expression 屬性的一個用途是建立計算出的列。 第二個用途是建立彙總列。類似於計算出的值,彙總基於 DataTable 中的整個行集執行操作。
運算式文法
在建立運算式時,使用 ColumnName屬性(表中列的名稱)來參考資料表中的列。
用法:
//得到menu1表中order列中最大值 object s = dsSet.Tables["menu1"].Compute("Max(order)", "");
上面是純開發的代碼,重點理解方法的使用;在我們度量開發平台中使用:
dim dt=網格組件1.DataTable.Compute("Sum(種植面積)","地塊號=‘"&dr["地塊號"]&"‘")
二、創建Expression說明:
2.1、在為篩選器建立運算式時,用單引號將字串括起來:
"LastName = ‘Jones‘"
2.1.1特殊字元處理:
下面的字元是特殊字元,如下面所解釋的,如果它們用於列名稱中,就必須進行轉義。
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/7F/AA/wKioL1coaFKAIikFAABmQrabZGI862.jpg" title="psb.jpg" alt="wKioL1coaFKAIikFAABmQrabZGI862.jpg" />
2.1.2 轉義方法為:
如果列名稱包含上面的字元之一,該名稱必須用中括弧括起來。例如,若要在運算式中使用名為“Column#”的列,應寫成“[Column#]”:
Total * [Column#]
由於中括弧是特殊字元,如果它是列名稱的組成部分,必須使用斜杠 (""") 將中括弧轉義。例如,名為“Column[]”的列應寫成:
Total * [Column["]] (只有第二個中括弧必須轉義。)
2.2、使用者定義的值處理
2.2.1義的值可以用在將與列值進行比較的運算式內。字串的值應括在單引號內。日期值應放在磅符號 (#) 內。對於數值,允許使用小數和科學記號標記法。例如:
"FirstName = ‘John‘" "Price <= 50.00" "Birthdate < #1/31/82#"
2.2.2含枚舉值的列,將值強制轉換為整數資料類型。例如:
"EnumColumn = 5"
2.3、運算子
2.3.1 使用布爾值 AND、OR 和 NOT 運算子時允許串聯。可以使用括弧來組合子句和強制優先順序。AND 運算子優先於其他運算子。例如:
(LastName =‘Smith‘ OR LastName =‘Jones‘) AND FirstName =‘John‘
2.3.2 在建立比較運算式時,允許使用下列運算子:
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/7F/AA/wKioL1coaTCxp2YKAABIKA5gK1E210.jpg" title="psb.jpg" alt="wKioL1coaTCxp2YKAABIKA5gK1E210.jpg" /> 2.3.3 在運算式中還支援下列算術運算子:
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/7F/AC/wKiom1coaH6hbuiRAABEkpqM5PE995.jpg" title="psb.jpg" alt="wKiom1coaH6hbuiRAABEkpqM5PE995.jpg" />原文地址:http://bbs.delit.cn/thread-936-1-1.html
轉載請註明出處:
撰寫人:度量科技http://www.delit.cn
DataTable.Compute強大的功能