4 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
生成并打印收據(jù)
您可以使用任何報(bào)表設(shè)計(jì)器工具(如 RDLC Reports 或 Crystal Reports)生成報(bào)表。RDLC 報(bào)告已經(jīng)足夠好了。您可以在顯示或不顯示打印對(duì)話框的情況下打印 RDLC 報(bào)告。您還可以輕松地手動(dòng)或使用代碼導(dǎo)出 RDLC 報(bào)告。
如果出于任何原因您不想使用報(bào)告工具,作為另一種選擇,您可以考慮使用運(yùn)行時(shí) T4 模板輕松生成 HTML 報(bào)告。
使用 RDLC 報(bào)告,如何在單個(gè)單元格中顯示多個(gè)字段
您可以輕松地使用表達(dá)式在單個(gè)單元格中顯示多個(gè)值。此外,作為另一種選擇,您可以在單個(gè)行組中使用行,并在單個(gè)列中顯示不同的字段。
示例 1 - RDLC - 使用表達(dá)式在單個(gè)列中顯示多個(gè)字段
以下步驟向您展示了如何使用表達(dá)式在單個(gè)列中顯示多個(gè)字段。我假設(shè)您已經(jīng)設(shè)置了數(shù)據(jù)源并且有ProductName
,UnitPrice
和Quantity
字段。然后,按照下列步驟操作:
將
Table
from 工具箱放在報(bào)表設(shè)計(jì)圖面上。在第一列,第一個(gè)數(shù)據(jù)行(不是標(biāo)題行)中,右鍵單擊并選擇
ProductName
( image )選擇第二列的標(biāo)題并鍵入
UnitPrice/Quantity
(圖像)在第二列第一數(shù)據(jù)行中,右鍵單擊并選擇
Expression
。(圖片)在表達(dá)式窗口中,輸入需要的表達(dá)式,例如:
= "UnitPrice: " & Fields!UnitPrice.Value.ToString() & System.Environment.NewLine & "Quantitye: " & Fields!Quantity.Value.ToString()
示例 2 - RDLC - 使用行組在單個(gè)列中顯示多個(gè)字段
以下步驟向您展示了如何在單個(gè)列中顯示多個(gè)字段。我假設(shè)您已經(jīng)設(shè)置了數(shù)據(jù)源并且有ProductName
,UnitPrice
和Quantity
字段。然后,按照下列步驟操作:
將
Table
from 工具箱放在報(bào)表設(shè)計(jì)圖面上。在第一列,第一個(gè)數(shù)據(jù)行(不是標(biāo)題行)中,右鍵單擊并選擇
ProductName
( image )選擇第二列的標(biāo)題并鍵入
UnitPrice/Quantity
(圖像)右鍵單擊第一個(gè)數(shù)據(jù)行的行標(biāo)題并選擇
Insert Row
→Inside Group - Below
(圖像)在第二列第一數(shù)據(jù)行中,右鍵單擊并選擇
UnitPrice
。(圖片)單擊
[UnitPrice]
,然后按Home并鍵入UnitPrice:
(圖像)對(duì)組中的下一行中的數(shù)量執(zhí)行相同的操作。
如果您需要組中的另一行,請(qǐng)重復(fù)步驟 3。您可以通過(guò)選擇它們并
BorderStyle
分別設(shè)置頂部、左側(cè)、底部和右側(cè)來(lái)設(shè)置單元格的邊框。

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
我之前使用的一種快速簡(jiǎn)便的方法是生成一個(gè)html頁(yè)面,然后使用html2pdf庫(kù)將其轉(zhuǎn)換為pdf文件。
您也可以考慮這種方法,因?yàn)?RDLC 報(bào)告/Crystal 報(bào)告對(duì)您的情況來(lái)說(shuō)可能有點(diǎn)矯枉過(guò)正。

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
RDLC 和水晶報(bào)表一樣強(qiáng)大。您可以選擇在消除許可成本方面接近的 rdlc。
使用 RDLC
數(shù)據(jù) 您需要在此處添加數(shù)據(jù)集或數(shù)據(jù)源到您將操縱的報(bào)告以滿足您想要的設(shè)計(jì)和數(shù)據(jù)。
設(shè)計(jì) 在設(shè)計(jì)上,您只需根據(jù)自己的喜好拖放控件。有一個(gè)挑戰(zhàn),有時(shí)您在設(shè)計(jì)中看到的可能與您在最終輸出中看到的不同,因此您需要進(jìn)行大量測(cè)試。
打印 您可以使用 rdlc 進(jìn)行打印預(yù)覽或直接發(fā)送到 pdf 查看器。這是一個(gè)例子。
結(jié)論 我認(rèn)為如果您在報(bào)表上生成的數(shù)據(jù)很好,那么使用 rdlc 和 Crystal Reports 的設(shè)計(jì)和布局不會(huì)有太大問(wèn)題。
更新根據(jù)提供的更多信息,我嘗試做一些可能接近您想要實(shí)現(xiàn)的事情。由于時(shí)間關(guān)系,我用過(guò)水晶報(bào)表和數(shù)據(jù)庫(kù)表來(lái)模擬。否則同樣可以使用 rdlc 實(shí)現(xiàn)。
我創(chuàng)建的示例表
這是來(lái)自數(shù)據(jù)庫(kù)的示例查詢(xún)和結(jié)果。我創(chuàng)建了可以由水晶報(bào)告容納的組。您可以使用相同的計(jì)算文本值來(lái)區(qū)分稅務(wù)信息和交易備忘錄。
這是調(diào)整設(shè)計(jì)后的最終外觀。頁(yè)面布局也可以根據(jù)您的喜好進(jìn)行調(diào)整。
更新。對(duì)于 RDLC,我認(rèn)為您需要為備忘錄數(shù)據(jù)和稅務(wù)信息添加數(shù)據(jù)集。如果接近,請(qǐng)查看下面的內(nèi)容。我沒(méi)有進(jìn)行預(yù)覽,因?yàn)橛行┙M件我沒(méi)有安裝。

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
要在一個(gè)單元格中添加 3 列,您有兩種選擇:
1- 使用換行表達(dá)式
=Fields!MyField1.Value + System.Environment.NewLine + Fields!MyField2.Value
2- 在 rdlc 中使用類(lèi)似子報(bào)表或分組的東西。
第一個(gè)選項(xiàng)接縫更容易
- 4 回答
- 0 關(guān)注
- 153 瀏覽
添加回答
舉報(bào)