最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET中RDLC循環(huán)處理數(shù)據(jù)的應(yīng)用分析

 更新時(shí)間:2013年05月04日 11:55:41   作者:  
本篇文章介紹了,.NET中RDLC循環(huán)處理數(shù)據(jù)的應(yīng)用分析。需要的朋友參考下
當(dāng)我們?cè)谑褂肦DLC開發(fā)報(bào)表的時(shí)候,如果數(shù)據(jù)源內(nèi)容如下。
復(fù)制代碼 代碼如下:

private List<UserData> CreateDataSet()
{
    List<UserData> userDataSet = new List<UserData>();
    userDataSet.Add(new UserData() { Name = "Clark", Age = 18 });
    userDataSet.Add(new UserData() { Name = "Yaya", Age = 15 });
    return userDataSet;
}

我們可以很快速的使用RDLC里的數(shù)據(jù)表控件,來將數(shù)據(jù)呈現(xiàn)在報(bào)表上。

但是當(dāng)客戶要求下圖的報(bào)表,要將數(shù)據(jù)源內(nèi)容顯示在一行。RDLC處理這種需求就沒有那么簡(jiǎn)單,這是因?yàn)镽DLC沒有循環(huán)處理的函式可以使用。造成開發(fā)人員要組合數(shù)據(jù),必須使用隱藏列表、在外部組合字符串…等等迂回的方式建立報(bào)表內(nèi)容。但這樣的方式開發(fā),既沒有效率而且也有很多的限制。

這個(gè)問題困擾了我好幾天,昨晚睡到一半忽然有靈感??梢允褂肦DLC里的Sum函式,來做數(shù)據(jù)循環(huán)的處理。

Sum函式會(huì)取得數(shù)據(jù)集中的每一筆資料,并且計(jì)算出全部數(shù)據(jù)的總和。我們可以將表達(dá)式寫為下列的函式,利用code.PushStringStack這個(gè)RDLC自定義函式,來讓Sum函式取得所有數(shù)據(jù)。這樣的寫法,就可以將數(shù)據(jù)集中的每一筆數(shù)據(jù)都交由code.PushString處理過一次。

復(fù)制代碼 代碼如下:

=Sum(code.PushString(Fields!Name.Value, Fields!Age.Value), "UserDataSet")

接著看code.PushString這個(gè)RDLC自定義函式的內(nèi)部,使用了一個(gè)Static的字符串變量,來記錄每一筆數(shù)據(jù)處理之后的結(jié)果。到這邊開發(fā)人員應(yīng)該可以理解,這樣的方式就是在跑循環(huán)處理數(shù)據(jù)。
復(fù)制代碼 代碼如下:

Public Shared _foreachResult As String = String.Empty

Public Shared Function PushString(userName As String, userAge As String) As Integer
    _foreachResult += userName & "(" & userAge & "), "
    Return 0
End Function

當(dāng)然啦,跑完循環(huán)處理完數(shù)據(jù),最終還是要將數(shù)據(jù)顯示在畫面上。這邊很簡(jiǎn)單的就是建立一個(gè)code.PopString回傳。
復(fù)制代碼 代碼如下:

Public Shared Function PopString() As String
    Return _foreachResult
End Function

并且將原本的表達(dá)式改寫成為:
復(fù)制代碼 代碼如下:

=IIF(Sum(code.PushString(Fields!Name.Value, Fields!Age.Value), "UserDataSet") <> 0, "", code.PopString())

編譯并且執(zhí)行之后,就可以看到在RDLC的文本框里,已經(jīng)正確的顯示了客戶要求的數(shù)據(jù)格式。

 

范例程序 : RdlcForeachDataSample_jb51net點(diǎn)此下載。

相關(guān)文章

  • .NET?Core配置連接字符串和獲取數(shù)據(jù)庫(kù)上下文實(shí)例

    .NET?Core配置連接字符串和獲取數(shù)據(jù)庫(kù)上下文實(shí)例

    這篇文章介紹了.NET?Core配置連接字符串和獲取數(shù)據(jù)庫(kù)上下文實(shí)例的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • ASP.NET Core 3.0 gRPC攔截器的使用

    ASP.NET Core 3.0 gRPC攔截器的使用

    這篇文章主要介紹了ASP.NET Core 3.0 gRPC攔截器的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • ASP.NET實(shí)現(xiàn)個(gè)人信息注冊(cè)頁面并跳轉(zhuǎn)顯示

    ASP.NET實(shí)現(xiàn)個(gè)人信息注冊(cè)頁面并跳轉(zhuǎn)顯示

    這篇文章主要介紹了ASP.NET實(shí)現(xiàn)個(gè)人信息注冊(cè)頁面并跳轉(zhuǎn)顯示的相關(guān)資料,本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2016-11-11
  • Entity?Framework?Core基于數(shù)據(jù)模型創(chuàng)建數(shù)據(jù)庫(kù)

    Entity?Framework?Core基于數(shù)據(jù)模型創(chuàng)建數(shù)據(jù)庫(kù)

    這篇文章介紹了Entity?Framework?Core基于數(shù)據(jù)模型創(chuàng)建數(shù)據(jù)庫(kù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • ASP.NET MVC錯(cuò)誤處理的對(duì)應(yīng)解決方法

    ASP.NET MVC錯(cuò)誤處理的對(duì)應(yīng)解決方法

    這篇文章主要為大家詳細(xì)介紹了ASP.NET MVC錯(cuò)誤處理的對(duì)應(yīng)解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Asp.net?core中依賴注入的實(shí)現(xiàn)

    Asp.net?core中依賴注入的實(shí)現(xiàn)

    這篇文章介紹了Asp.net?core中依賴注入的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • 從ASP.NET Core3.1遷移到5.0的方法

    從ASP.NET Core3.1遷移到5.0的方法

    這篇文章主要介紹了從ASP.NET Core3.1遷移到5.0的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • asp.net 頁面之間傳遞參數(shù)的幾種方法

    asp.net 頁面之間傳遞參數(shù)的幾種方法

    因?yàn)樵陧?xiàng)目中需要在兩個(gè)頁面之間傳遞一些參數(shù),所以總結(jié)出以下幾個(gè)傳遞參數(shù)的方法
    2009-06-06
  • ASP.NET文件處理如何操作

    ASP.NET文件處理如何操作

    這篇文章主要介紹了ASP.NET文件處理如何操作,需要的朋友可以參考下
    2015-09-09
  • IE10下Gridview后臺(tái)設(shè)置行高不起作用解決方法

    IE10下Gridview后臺(tái)設(shè)置行高不起作用解決方法

    GridView1.HeaderStyle.Height=17發(fā)現(xiàn)在IE10 中不起作用,經(jīng)過反復(fù)測(cè)試修改為e.Row.Cells[0].Height=17即可解決問題,有類似問題的朋友可以參考下哈
    2013-04-04

最新評(píng)論

阿鲁科尔沁旗| 邳州市| 隆德县| 大理市| 三门峡市| 西乡县| 江西省| 大洼县| 化州市| 澄江县| 耿马| 广平县| 灵宝市| 娄底市| 信宜市| 虞城县| 青岛市| 枝江市| 汨罗市| 金川县| 公安县| 丹阳市| 尉氏县| 兴安盟| 阜新| 赞皇县| 呼图壁县| 仪陇县| 乌拉特中旗| 舒城县| 新营市| 淮滨县| 青河县| 莱阳市| 额敏县| 浮梁县| 盈江县| 准格尔旗| 广宁县| 江城| 芦溪县|