DataTable.Compute強大的功能

來源:互聯網
上載者:User

標籤: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強大的功能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.