日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在 ReportViewer 报表中使用表达式

發布時間:2025/3/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 ReportViewer 报表中使用表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有些表達式在報表中很常用。其中包括更改報表中的數據外觀的表達式、計算總數的表達式和更改報表項屬性的表達式。本主題介紹了報表中可用于常見任務的一些表達式。

報表中的許多表達式都包含函數。您可以編寫使用 Microsoft.VisualBasic、System.Convert 和 System.Math 命名空間中的函數的表達式,或將引用添加到其他程序集或自定義代碼中。還可以使用 Microsoft .NET Framework 中的類。有關詳細信息,請參閱 .NET Framework SDK 類庫文檔。

函數

報表中的大部分函數為 Microsoft Visual Basic 函數或者內置報表函數。可以使用這些函數來設置數據格式、應用邏輯和訪問報表元數據。

Visual Basic 函數

可以使用 Visual Basic 函數來操作文本框中所顯示的數據,或者操作參數、屬性或報表其他區域中所用的數據。本節舉例說明了其中一些函數。有關 Visual Basic 函數的詳細信息,請參閱 Visual Basic 文檔。

日期函數

可以使用 Visual Basic 函數在報表中提供日期信息。

  • 以下表達式包含 Today 函數,用于提供當前日期。此表達式可用在文本框中以在報表上顯示日期,或用在參數中以根據當前日期篩選數據:

    復制代碼 =Today()
  • 如果要根據單個參數來提供日期范圍,則可使用 DateAdd 函數。以下表達式提供了 StartDate 參數中的日期之后六個月的日期:

    復制代碼 =DateAdd(DateInterval.Month, 6, Parameters!StartDate.Value)
  • 以下表達式包含了 Year 函數,用于顯示特定日期所屬的年份。可以使用此表達式將日期組合在一起,或者將年份作為一組日期的標簽顯示。此表達式為給定順序的一組日期提供年份:

    復制代碼 =Year(Fields!OrderDate.Value)
  • Month 函數和其他函數也可用于處理日期。有關詳細信息,請參閱 Visual Basic 文檔。

字符串函數

可以使用 Visual Basic 函數操作報表中的字符串。

  • 可以使用 Format 函數來設置字符串中的日期和數字的格式。 The following expression displays values of the StartDate and EndDate parameters in long date format:

    復制代碼 =Format(Parameters!StartDate.Value, "D") & " through " & Format(Parameters!EndDate.Value, "D")

    如果文本框只包含日期或數字,則應當使用文本框的 Format 屬性(而不是文本框中的 Format 函數)來應用格式。

  • Right、Len 和 InStr 函數用于返回子字符串,例如,修整 DOMAIN\username 以只返回用戶名。 The following expression returns a portion of a string to the right of a backslash (\) character from a parameter named User:

    復制代碼 =Right(Parameters!User.Value, Len(Parameters!User.Value) - InStr(Parameters!User.Value, "\"))

    The following expression results in the same value as the previous one, using members of the .NET Framework String class instead of Visual Basic functions:

    復制代碼 =Parameters!User.Value.Substring(Parameters!User.Value.IndexOf("\")+1, Parameters!User.Value.Length-Parameters!User.Value.IndexOf("\")-1)

決策函數

可以使用 Visual Basic 函數來計算輸入值并根據結果返回另一個值。

  • Iif 函數根據表達式的計算結果是否為 True 返回兩個值中的一個。以下表達式使用了 Iif 函數,如果 LineTotal 的值超過 100,則返回布爾值 True,否則返回 False:

    復制代碼 =Iif(Fields!LineTotal.Value > 100, True, False)

    以下表達式使用了多個 Iif 函數(也稱為“嵌套 Iif 函數”),根據 PctComplete 的值返回三個值中的一個。

    復制代碼 =Iif(Fields!PctComplete.Value >= .8, "Green", Iif(Fields!PctComplete.Value >= .5, "Amber", "Red"))
  • 以下表達式也是根據 PctComplete 的值返回三個值中的一個,不過使用的是 Switch 函數,該函數返回的是多個表達式中計算結果為 True 的第一個表達式的值:

    復制代碼 =Switch(Fields!PctComplete.Value >= .8, "Green", Fields!PctComplete.Value >= .5, "Amber", Fields!PctComplete.Value < .5, "Red")

報表函數

Reporting Services 提供了可用于操作報表中的數據的其他報表函數。本節舉例說明了其中兩個函數。有關報表函數和示例的詳細信息,請參閱 ReportViewer 報表的內置函數。

  • Sum 函數可計算某一分組或數據區域中多個值的和。此函數可用于表格組的頁眉或頁腳中。以下表達式顯示了訂單分組或數據區域中數據的和:

    復制代碼 =Sum(Fields!LineTotal.Value, "Order")
  • 如果將包含 RowNumber 函數的表達式用于數據區域中的文本框中,則該表達式將顯示表達式所在文本框的每個實例的行號。此函數可用于給表格中的各行加編號。還可以將其用于更復雜的情況,例如,根據行號提供分頁符。有關詳細信息,請參閱本主題中后面的“分頁符”。

    以下表達式顯示了從最外面數據區域的第一行到最后一行的行號。Nothing 關鍵字表示函數將從最外面數據區域的第一行開始計數。若要從子數據區域開始計數,可使用數據區域的名稱。

    復制代碼 =RowNumber(Nothing)

報表數據的外觀

可以使用表達式來控制數據在報表上的顯示形式。例如,可以在一個文本框中顯示兩個字段的值、顯示報表的有關信息或影響報表中分頁符的插入方式。

頁眉和頁腳

在設計報表時,可能需要在報表的頁腳顯示報表名稱和頁碼。為此,可使用以下表達式:

  • 以下表達式提供了報表的名稱以及它的運行時間。可以將該表達式放入報表頁腳或表體的文本框中。 The time is formatted with the .NET Framework formatting string for short date:

    復制代碼 =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
  • 以下表達式位于報表頁腳的文本框中,提供了報表的頁碼和全部頁。

    復制代碼 =Globals.PageNumber & " of " & Globals.TotalPages

也可以在報表頁眉或頁腳中引用表體中的報表項。以下示例說明了如何在頁眉中顯示頁面中的第一個值和最后一個值,類似于目錄列表的形式。該示例假定存在一個包含名為 LastName 的文本框的數據區域。

  • 以下表達式位于頁眉左側的文本框中,提供了頁面上 LastName 文本框的第一個值:

    復制代碼 =First(ReportItems!LastName.Value)
  • The following expression, placed in a textbox on the right side of the page header, provides the last value of the LastName text box on the page:

    復制代碼 =Last(ReportItems!LastName.Value)

可以對頁眉或頁腳中所引用的報表項應用聚合函數。(不過,不能對表體中所引用的報表項應用聚合函數。)以下示例說明了如何顯示頁總頁數。該示例假定存在一個包含名為 Cost 的文本框的數據區域。

  • 以下表達式位于頁眉或頁腳中,提供了頁面上的 Cost 文本框中的值的和:

    復制代碼 =Sum(ReportItems!Cost.Value) 注意

    頁眉或頁腳中的每個表達式只能引用一個報表項。

分頁符

在某些報表中,可能需要在指定行數之后、組或報表項上放置分頁符。為此,在數據區域中創建組(通常是緊挨著詳細信息區域的組),在組中添加分頁符,然后根據指定行數在組中添加組表達式。

  • 如果將以下表達式放置在組表達式中,則它將給每 25 行指定一個編號。如果為組定義了分頁符,將導致每隔 25 行插入一個分頁符。

    復制代碼 =Int((RowNumber(Nothing)-1)/25)

屬性

表達式不僅用于顯示文本框中的數據。還可以用于更改將屬性應用于報表項的方式。可以更改報表項的樣式信息,或更改其可見性。

格式

可以使用表達式改變報表中報表項的外觀。

  • 如果在文本框的 Color 屬性中使用以下表達式,則它可根據 Profit 字段的值更改文本的顏色:

    復制代碼 =Iif(Fields!Profit.Value < 0, "Red", "Black")
  • 如果在數據區域中的報表項的 BackgroundColor 屬性中使用以下表達式,則它可更改淡綠色與白色之間的每一行的背景顏色:

    復制代碼 =Iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White")

可見性

可以使用報表項的可見性屬性來顯示和隱藏報表中的項。在諸如表的數據區域中,最初可以根據表達式中的值隱藏詳細信息行。

  • The following expression, when used for initial visibility of detail rows in a group, shows the detail rows for all sales exceeding 90 percent in the PctQuota field:

    復制代碼 =Iif(Fields!PctQuota.Value>.9, False, True)

報表參數

可以在參數中使用表達式來更改參數的默認值。例如,可以使用參數,以根據用于運行報表的用戶 ID 篩選特定用戶的數據。

  • 如果將以下表達式用作參數的默認值,則它可收集運行報表的用戶的用戶 ID:

    復制代碼 =User!UserID

自定義代碼

可以在報表中使用自定義代碼。自定義代碼既可以嵌入報表中,也可以存儲在報表所使用的自定義程序集中。有關自定義代碼的詳細信息,請參閱向 ReportViewer 報表中添加自定義代碼。

  • 以下示例調用了 ToUSD 嵌入代碼方法,該方法將 StandardCost 字段值轉換為美元值:

    復制代碼 =Code.ToUSD(Fields!StandardCost.Value)本文轉自94cool博客園博客,原文鏈接:http://www.cnblogs.com/94cool/p/4283809.html,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的在 ReportViewer 报表中使用表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久人人爽爽人人爽人人片av | 天天操天天干天天舔 | 欧美一级性片 | 欧美亚洲国产日韩 | 一边摸一边抽搐一进一出视频 | 日本久热 | 国产中文字幕乱人伦在线观看 | 草草视频在线 | 91涩涩涩| 精品久久久中文字幕 | 日本999视频 | 无罩大乳的熟妇正在播放 | 久久99精品国产麻豆91樱花 | 国产成人免费观看视频 | 人人操在线播放 | 中文字幕人妻一区二区在线视频 | 欧美88av | av中文字幕免费观看 | 18成人免费观看视频 | 亚洲国产精品一区二区三区 | 天堂精品 | 久久一区二区视频 | 亚洲高潮 | 六月丁香久久 | 香蕉国产在线观看 | 国产ts三人妖大战直男 | 欧美成人免费高清视频 | 91大神在线免费观看 | 亚洲一区二区精品在线 | 国产日本在线观看 | 精品国产乱码久久久 | 日韩黄色a级片 | 乱日视频 | 欧美色图12p | 亚洲丝袜视频 | 国产精品18久久久久久久久 | 放荡的少妇2欧美版 | 亚洲视频在线一区二区 | 中文字幕亚洲乱码熟女1区2区 | 福利网址在线 | 91成人精品视频 | 日韩视频在线观看视频 | 成人av久久 | 可以看毛片的网站 | 国产精品一级二级 | 国产精品亚洲二区 | 国产成人毛片 | 国产欧美日本 | 国产亚洲女人久久久久毛片 | 伊人网站| 老司机精品福利视频 | 91久久在线| 国产精品精品久久久久久 | 新av在线 | 亚洲视频91 | 美女高潮流白浆视频 | 亚洲成年人在线 | 欧美一级影院 | 草草影院av | 国产麻豆剧传媒精品国产 | 精品一区中文字幕 | 一本色道久久综合亚洲 | 久久久网站 | 18岁禁黄网站 | 久久久久久久久久国产 | 国产高潮视频 | 日韩一区二区在线看 | 日本三级网站在线观看 | www.国产在线观看 | 少妇特殊按摩高潮惨叫无码 | www九九九 | 新国产视频| 亚洲男人的天堂在线视频 | 国产永久在线 | 九九亚洲 | 亚洲一区二区三区不卡视频 | 日本久色 | 在线观看毛片网站 | 亚洲一线av | 黄色录像a级片 | 日韩城人视频 | 一级性生活毛片 | 国产亚洲色婷婷久久99精品 | 欧美亚洲一区 | 92av视频 | 高潮喷水一区二区三区 | 黄色性视频 | 日本欧美www| 美女av网址 | 无码播放一区二区三区 | 蜜桃av网站 | 激情一区二区 | 久久国产电影 | 91麻豆精品国产91久久久更新时间 | 亚洲自拍在线观看 | 国产精品1区2区3区4区 | 国v精品久久久网 | 国产欧美一区二区在线观看 | 一区二区激情视频 |