• <menu id="w2i4a"></menu>
  • logo FastReport中文文檔

    示例 3.交互式


    在本例中,我們將看到如何通過(guò)單擊 "Matrix "對(duì)象的單元格來(lái)創(chuàng)建詳細(xì)報(bào)告。例如,我們將使用一個(gè)矩陣來(lái)顯示按年份分組的員工銷售額。

    矩陣的數(shù)據(jù)源是 "MatrixDemo "表。該表顯示了按年和月分組的員工銷售額:

    Name Year Month ItemsSold Revenue
    Nancy Davolio 1999 2 1 1000
    Nancy Davolio 1999 11 1 1100
    Nancy Davolio 1999 12 1 1200
    Nancy Davolio 2000 1 1 1300
    Nancy Davolio 2000 2 2 1400
    Nancy Davolio 2001 2 2 1500
    Nancy Davolio 2001 3 2 1600
    Nancy Davolio 2002 1 2 1700
    Andrew Fuller 2002 1 2 1800
    Andrew Fuller 1999 10 2 1900
    Andrew Fuller 1999 11 2 2000
    Andrew Fuller 2000 2 2 2100
    Janet Leverling 1999 10 3 3000
    Janet Leverling 1999 11 3 3100
    Janet Leverling 2000 3 3 3200
    Steven Buchanan 2001 1 3 4000
    Steven Buchanan 2001 2 4 4100
    Steven Buchanan 2000 1 4 3999
    按以下方式配置矩陣:

    • 將 "MatrixDemo.Year "數(shù)據(jù)列放在列頭;
    • 將 "MatrixDemo.Name "數(shù)據(jù)列放在行標(biāo)題中;
    • 將 "MatrixDemo.Revenue "數(shù)據(jù)列放在單元格中。
    準(zhǔn)備好的矩陣如下:
    fastreport

    如圖所示,單元格的值是員工全年銷售額的總和。讓我們創(chuàng)建一個(gè)詳細(xì)報(bào)告,點(diǎn)擊單元格后就會(huì)顯示該報(bào)告。在我們的例子中,詳細(xì)報(bào)告可以包含所選員工在所選年度每個(gè)月的銷售額。

    如何將單元格與打印數(shù)據(jù)連接起來(lái)?矩陣的每個(gè)單元格都有自己的地址。這是來(lái)自列標(biāo)題和行標(biāo)題的值的組合。在我們的示例中,單元格的地址是雇員年份和姓名的組合。這些數(shù)據(jù)可以準(zhǔn)確地傳遞到詳細(xì)報(bào)告中。如何做到這一點(diǎn)呢?非常簡(jiǎn)單:設(shè)置超鏈接,只顯示報(bào)告名稱和參數(shù)名稱。參數(shù)值無(wú)需標(biāo)明:對(duì)于矩陣單元格,F(xiàn)astReport 本身會(huì)形成值并將其傳遞到參數(shù)中。

    假設(shè)我們點(diǎn)擊了左上角包含數(shù)字 3900 的單元格。這是名為 "Andrew Fuller "的員工 1999 年的銷售額總和。使用什么表格將此值傳入?yún)?shù)?FastReport 使用分隔符合并列和行的值:

    
    
    
    1999;Andrew Fuller
    這是否意味著我們必須從這個(gè)字符串中提取年份值和員工姓名,將年份轉(zhuǎn)換為 int,然后使用這些值進(jìn)行數(shù)據(jù)篩選?不,這要簡(jiǎn)單得多。我們只需創(chuàng)建一個(gè)具有嵌套參數(shù)的參數(shù)。你可以在 "數(shù)據(jù) "一章中了解到這一點(diǎn)。在本例中,父參數(shù)可以是這樣的
    fastreport

    創(chuàng)建參數(shù)時(shí),請(qǐng)考慮以下時(shí)刻:

    • 不需要設(shè)置父參數(shù)。只需給它命名即可;
    • 父參數(shù)的嵌套參數(shù)數(shù)量必須與矩陣傳遞的值數(shù)量相同。在本例中,有兩個(gè)值;
    • 嵌套參數(shù)的順序必須與矩陣傳遞值的順序一致。在本例中,年份將在第一個(gè)參數(shù)中傳遞,雇員姓名將在第二個(gè)參數(shù)中傳遞;
    • 嵌套參數(shù)可以隨意命名,但最好與矩陣元素名稱一致;
    • 正確設(shè)置每個(gè)嵌套參數(shù)的數(shù)據(jù)類型非常重要。數(shù)據(jù)類型必須與傳入?yún)?shù)的值一致。在我們的例子中,第一個(gè)參數(shù)(年份)必須是整數(shù)類型,第二個(gè)參數(shù)(員工姓名)必須是字符串類型。
    在明確所有必要事項(xiàng)后,我們將創(chuàng)建報(bào)告。選擇矩陣的單元格并調(diào)用超鏈接編輯器:
    fastreport

    在超鏈接配置中,將父參數(shù)指定為報(bào)告參數(shù)(在我們的示例中為 "SelectedCell"):
    fastreport

    FastReport 將這些值傳入 SelectedCell.Year 和 SelectedCell.Name 嵌套參數(shù)。這些值將轉(zhuǎn)換為參數(shù)配置中指定的數(shù)據(jù)類型,因此正確配置參數(shù)數(shù)據(jù)類型非常重要。

    詳細(xì)報(bào)告位于主報(bào)告的單獨(dú)頁(yè)面上,使用相同的數(shù)據(jù)源:

    fastreport

    為了顯示所選員工在所選年份的銷售額,請(qǐng)?jiān)O(shè)置篩選條件。為此,請(qǐng)打開 "Data"帶編輯器,并輸入以下篩選條件:

    
    
    
    [MatrixDemo.Year] == [SelectedCell.Year] && [MatrixDemo.Name] == [SelectedCell.Name]
    報(bào)告已準(zhǔn)備就緒。運(yùn)行報(bào)告并點(diǎn)擊左上角的單元格。將打開一份詳細(xì)報(bào)告,其中包含以下數(shù)據(jù):
    fastreport

    如圖所示,數(shù)值之和(1900+2000)與我們點(diǎn)擊的矩陣單元格相對(duì)應(yīng)。

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();