報(bào)告中的錨點(diǎn)
Stimulsoft是白俄羅斯一家報(bào)表控件廠商,該商家一直專注于報(bào)表控件的研發(fā)與創(chuàng)新,是報(bào)表控件行業(yè)的領(lǐng)導(dǎo)者。Stimulsoft 經(jīng)過(guò)多年的努力,終于實(shí)現(xiàn)了更加簡(jiǎn)單的設(shè)計(jì)報(bào)表,數(shù)據(jù)驅(qū)動(dòng)更快的應(yīng)用程序,更加簡(jiǎn)便的應(yīng)用新的技術(shù),極大程度上的減少了開(kāi)發(fā)人員的工作量,提高了工作的效率。
帶有錨點(diǎn)的報(bào)告是指在報(bào)告中包含內(nèi)容頁(yè)面和指向其他頁(yè)面的鏈接(稱為錨點(diǎn))的報(bào)告。請(qǐng)按照以下步驟設(shè)計(jì)帶有錨點(diǎn)的報(bào)告。創(chuàng)建內(nèi)容頁(yè)
1. 運(yùn)行設(shè)計(jì)器;
2. 連接數(shù)據(jù):
2.1. 創(chuàng)建新連接;
2.2. 創(chuàng)建新數(shù)據(jù)源
3. 創(chuàng)建數(shù)據(jù)源之間的關(guān)系。如果不創(chuàng)建關(guān)系和/或不填寫明細(xì)數(shù)據(jù)源的關(guān)系屬性,那么對(duì)于主條目,將輸出所有明細(xì)條目;
4. 更改頁(yè)面上的列數(shù)。例如,將 Columns 屬性設(shè)為 2,ColumnGaps 屬性設(shè)為 1;
5. 在報(bào)告模板的一個(gè)頁(yè)面上放置兩個(gè)數(shù)據(jù)帶
6. 編輯 DataBand1 和 DataBand2:
6.1. 按高度對(duì)齊;
6.2. 更改所需的屬性值。例如,如果需要在任何情況下打印所有主條目,即使沒(méi)有明細(xì)條目,也要將主-明細(xì)報(bào)告中主組件 DataBand1 的 PrintIfDetailEmpty 屬性設(shè)置為 true。如果需要縮小該數(shù)據(jù)帶,則將主-明細(xì)報(bào)告中作為明細(xì)組件的數(shù)據(jù)帶 2 的 CanShrink 屬性設(shè)置為 true;
6.3. 更改數(shù)據(jù)帶的背景顏色;
6.4. 如果需要,啟用數(shù)據(jù)帶的邊框;
7. 為數(shù)據(jù)帶指定數(shù)據(jù)源,并分配主組件。在本例中,主組件是上層 DataBand1,因此在 DataSetup 窗口中,主組件向?qū)нx項(xiàng)卡上的下層 DataBand2 應(yīng)顯示 DataBand1 為主組件。使用數(shù)據(jù)源屬性指明 DataBand 的數(shù)據(jù)源:
8. 填寫 DataBand2 的 DataRelation 屬性,即 Detail 組件:
9. 將帶有表達(dá)式的文本組件放在數(shù)據(jù)帶上。例如:在作為主組件的 DataBand1 上,我們放置了帶有以下表達(dá)式的文本組件: {Categories.CategoryName},而在作為詳細(xì)信息組件的 DataBand2 上,我們放置了兩個(gè)帶有表達(dá)式的文本組件: {Products.ProductName}和{GetAnchorPageNumber (sender.TagValue)} ;
10. 編輯 DataBands 的文本和文本組件:
10.1. 在 DataBand 中拖放文本組件;
10.2. 設(shè)置字體:大小、樣式、顏色;
10.3. 按高度和寬度對(duì)齊文本組件;
10.4. 設(shè)置文本組件的背景顏色
10.5. 對(duì)齊組件中的文本
10.6. 更改所需的屬性值。例如,如果希望對(duì)文本進(jìn)行包裝,請(qǐng)將 WordWrap 屬性設(shè)置為 true;
10.7. 如有必要,為文本組件設(shè)置邊框;
10.8. 設(shè)置邊框顏色
10.9. 使用 {Products.ProductName} 表達(dá)式更改文本組件的超鏈接屬性值。在這種情況下,將 Hyperlink 屬性設(shè)置為 #{Products.ProductName} 值;
10.10. 用 {GetAnchorPageNumber(sender.TagValue)} 改變文本組件的 Hyperlink 和 Tag 屬性的值。超鏈接屬性應(yīng)設(shè)置為 #{Products.ProductName},標(biāo)簽屬性應(yīng)設(shè)置為 {Products.ProductName}。
創(chuàng)建主清單
11. 在報(bào)告模板中創(chuàng)建第二頁(yè);
12. 在報(bào)告模板頁(yè)面上放置兩個(gè)數(shù)據(jù)帶。
13. 編輯 DataBand3 和 DataBand4:
13.1. 按高度對(duì)齊 DataBand;
13.2. 更改所需的屬性值。例如,如果希望在任何情況下都打印主記錄,即使不存在明細(xì)條目,則將 DataBand3 的 Print if Detail Empty 屬性設(shè)置為 true。如果需要縮小數(shù)據(jù)帶,請(qǐng)將數(shù)據(jù)帶 4 的 CanShrink 屬性設(shè)置為 true,數(shù)據(jù)帶 4 是主-明細(xì)報(bào)告中的明細(xì)組件;
13.3. 設(shè)置 DataBand 的背景顏色;
13.4. 如有必要,設(shè)置數(shù)據(jù)帶的邊框;
14. 指定數(shù)據(jù)帶的數(shù)據(jù)源,并分配主組件。在本例中,主組件是上層 DataBand3,因此在 DataSetup 窗口中,主組件向?qū)нx項(xiàng)卡上的下層 DataBand4 應(yīng)顯示 DataBand3 為主組件。使用數(shù)據(jù)源屬性指明 DataBand 的數(shù)據(jù)源:
15. 填寫 DataBand4 的 DataRelation 屬性,即 Detail 組件:
16. 將帶有表達(dá)式的文本組件放在數(shù)據(jù)帶上。例如:在作為主組件的 DataBand3 上,我們放置了帶有以下表達(dá)式的文本組件: {Categories.CategoryName},而在作為詳細(xì)信息組件的 DataBand4 上,我們放置了兩個(gè)帶有表達(dá)式的文本組件: {Products.ProductName}、{Products.QuantityPerUnit} 和 {Products.UnitPrice};
17. 編輯數(shù)據(jù)帶的文本和文本組件:
17.1. 在 DataBand 中拖放文本組件;
17.2. 設(shè)置字體:大小、樣式、顏色;
17.3. 按高度和寬度對(duì)齊文本組件;
17.4. 設(shè)置文本組件的背景顏色
17.5. 對(duì)齊組件中的文本
17.6. 更改所需的屬性值。例如,如果您希望文本被包裹,請(qǐng)將 WordWrap 屬性設(shè)置為 true
17.7. 如有必要,為文本組件設(shè)置邊框;
17.8. 設(shè)置邊框顏色
18. 選擇主數(shù)據(jù)源的數(shù)據(jù)帶。在我們的案例中,這是 DataBand3:
18.1. 將 DataBand3 的 Interaction.Bookmark 屬性設(shè)置為 {Categories.CategoryName};
19. 選擇作為詳細(xì)信息數(shù)據(jù)源的 DataBand。在我們的示例中,這是 DataBand4:
19.1. 將 Interaction.Bookmark 屬性設(shè)置為 {Products.ProductName};
19.2. 訂閱事件。將 RenderingEvent 設(shè)置為 {AddAnchor (Products.ProductName);} ;
報(bào)告渲染
20. 單擊預(yù)覽按鈕或調(diào)用查看器,單擊預(yù)覽菜單項(xiàng)。渲染報(bào)告后,所有對(duì)數(shù)據(jù)字段的引用都將根據(jù)指定字段的數(shù)據(jù)進(jìn)行更改。
在渲染的報(bào)告中,當(dāng)點(diǎn)擊目錄中的條目時(shí),報(bào)告中的該條目將被轉(zhuǎn)換。
21. 返回報(bào)告模板;
22. 如果需要,在報(bào)告模板中添加其他帶,例如 HeaderBand;
23. 編輯此波段:
23.1. 按高度對(duì)齊;
23.2. 根據(jù)需要更改屬性值;
23.3. 更改條帶的背景;
23.4. 根據(jù)需要設(shè)置邊框
23.5. 設(shè)置邊框顏色。
24. 將帶有表達(dá)式的文本組件放入該段。文本組件中的表達(dá)式是 HeaderBand 中的標(biāo)題。
25. 編輯文本和文本組件
25.1. 將文本組件拖放到帶中;
25.2. 更改字體選項(xiàng):大小、類型、顏色;
25.3. 按高度和寬度對(duì)齊文本組件
25.4. 更改文本組件的背景
25.5. 對(duì)齊文本組件中的文本
25.6. 根據(jù)需要更改文本組件屬性值
25.7. 根據(jù)需要啟用文本組件的邊框
25.8. 設(shè)置邊框顏色
26. 單擊預(yù)覽按鈕或單擊預(yù)覽菜單項(xiàng)調(diào)用查看器。渲染后,數(shù)據(jù)表指定字段的所有數(shù)據(jù)字段引用將被更改。數(shù)據(jù)將按連續(xù)順序從為該報(bào)告定義的數(shù)據(jù)庫(kù)中輸出。渲染報(bào)告中 DataBand 的副本數(shù)量將與數(shù)據(jù)庫(kù)中的數(shù)據(jù)行數(shù)量相同。
添加樣式
1. 返回報(bào)告模板;
2. 選擇數(shù)據(jù)帶。在本例中,選擇 DataBand4;
3. 更改偶數(shù)樣式和奇數(shù)樣式屬性的值。如果未設(shè)置這些屬性的值,則在這些屬性的值列表中選擇編輯樣式,然后使用樣式設(shè)計(jì)器創(chuàng)建新樣式。下圖顯示了樣式設(shè)計(jì)器:
單擊 "Add Style "按鈕開(kāi)始創(chuàng)建樣式。從下拉列表中選擇組件。設(shè)置 Brush.Color 屬性以更改一行的背景顏色。下圖顯示了帶有 Brush.Color 屬性值列表的樣式設(shè)計(jì)器示例:
單擊關(guān)閉。然后,偶數(shù)行樣式和奇數(shù)行樣式屬性(奇數(shù)行和偶數(shù)行的樣式)列表中將出現(xiàn)一個(gè)新值。
4. 要顯示報(bào)告,請(qǐng)單擊預(yù)覽按鈕或調(diào)用查看器,單擊預(yù)覽菜單項(xiàng)。