翻譯|行業(yè)資訊|編輯:胡濤|2024-04-28 10:17:04.590|閱讀 88 次
概述:在本文中,我們?yōu)镴S報(bào)告工具中的查看器事件提供了全面的指南,包括它們的詳細(xì)描述、參數(shù)列表等一系列詳細(xì)內(nèi)容。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于創(chuàng)建報(bào)表和儀表板的通用工具集。該產(chǎn)品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他環(huán)境的完整工具集。無(wú)需比較產(chǎn)品功能,Stimulsoft Ultimate包含了所有內(nèi)容!
在本文中,我們?yōu)镴S報(bào)告工具中的查看器事件提供了全面的指南,包括它們的詳細(xì)描述、參數(shù)列表等一系列詳細(xì)內(nèi)容。在上一篇文章中,我們討論了報(bào)告事件,而在這篇文章中,我們將討論查看器事件。
準(zhǔn)備變量
該事件在報(bào)表構(gòu)建開(kāi)始時(shí)、在報(bào)表中填充變量之前觸發(fā)。它在StiReport實(shí)例上處理onPrepareVariables事件后立即發(fā)生。以下是事件處理程序參數(shù)的列表:
{
event: "PrepareVariables",
sender: "Viewer",
report: StiReport,
preventDefault: boolean,
async: boolean,
variables: []
}
替換變量值的示例:
viewer.onPrepareVariables = (args, callback) => {
args.variables[0].value = "Replace value";
}
開(kāi)始處理數(shù)據(jù)
該事件在請(qǐng)求構(gòu)建報(bào)告所需的數(shù)據(jù)之前觸發(fā)。它在StiReport實(shí)例上處理onBeginProcessData事件后立即發(fā)生。以下是事件處理程序參數(shù)的列表:
{
sender: "Viewer",
event: "BeginProcessData",
report: StiReport,
preventDefault: boolean,
async: boolean,
command: string,
database: string,
connection: string,
headers: [],
withCredentials: string,
// Json
pathData: string,
tryParseDateTime: boolean,
relationDirection: StiRelationDirection,
// Xsd
pathSchema: string,
// Xml
pathData: string,
tryParseDateTime: boolean,
relationDirection: StiRelationDirection,
// Excel
pathData: string,
firstRowIsHeader: boolean,
// OData
connectionString: string,
dataSource: string,
collectionName: string,
// Sql
connectionString: string,
dataSource: string,
queryString: string,
timeout: number,
parameters: { name: string, value: string | number }[],
escapeQueryParameters: boolean,
// Gis
pathData: string,
separator: string,
dataType: StiGisDataType,
// Csv
pathData: string,
separator: string,
codePage: number,
// DBase
pathData: string,
codePage: number
}
下面是替換連接字符串的示例:
viewer.onBeginProcessData = (args) => {
if (args.database == "MySQL")
args.connectionString = "new connection string";
}
這是我們自己實(shí)現(xiàn)數(shù)據(jù)檢索的示例:
viewer.onBeginProcessData = (args, callback) => {
if (args.database == "MySQL"){
args.preventDefault = true;
var result = {
success: true,
rows: [
["value1", 1, false],
["value2", 1, true],
["value3", 2, false]
],
columns: [
"Column1_name",
"Column2_name",
"Column3_name"
],
types:[
"string",
"int",
"boolean"
]
}
// //github.com/stimulsoft/DataAdapters.JS/
callback(result);
}
}
進(jìn)程結(jié)束數(shù)據(jù)
該事件在收到構(gòu)建報(bào)告所需的數(shù)據(jù)后觸發(fā)。它在StiReport實(shí)例上處理onEndProcessData事件后立即發(fā)生。以下是事件處理程序參數(shù)的列表 :
{
sender: "Viewer",
event: "EndProcessData",
report: StiReport,
command: string,
dataSource: string,
connection: string,
database: string,
result: DataSet|any
}
從適配器調(diào)整數(shù)據(jù)的示例:
viewer.onEndProcessData = (args) => {
if (args.command == "ExecuteQuery" && args.dataSource == "Categories")
args.result.rows.push(rowData) ;
// //github.com/stimulsoft/DataAdapters.JS/
}
打印報(bào)告
它用于在打印之前修改報(bào)告或?qū)崿F(xiàn)自定義打印功能。
該事件在打印報(bào)告之前觸發(fā)。以下是事件處理程序參數(shù)的列表:
{
sender: "Viewer",
event: "PrintReport",
report: StiReport,
preventDefault: boolean,
async: boolean
printAction: string,
}
打印前刪除圖片的示例:
viewer.onPrintReport = (args) => {
var page = args.report.renderedPages.getByIndex(0);
var image = page.components.getByName("Image1");
if (image)
page.components.remove(image);
}
開(kāi)始導(dǎo)出報(bào)告
它用于在導(dǎo)出之前調(diào)整導(dǎo)出設(shè)置或修改報(bào)告。
該事件在導(dǎo)出報(bào)告之前、對(duì)話(huà)框中指定的導(dǎo)出設(shè)置完成之后觸發(fā)。以下是事件處理程序參數(shù)的列表:
{
sender: "Viewer",
event: "BeginExportReport",
report: StiReport
preventDefault: boolean,
async: boolean,
action: StiExportAction,
settings: IStiDashboardExportSettings | StiExportSettings,
format: StiExportFormat,
formatName: string,
fileName: string,
openAfterExport: boolean,
}
調(diào)整導(dǎo)出參數(shù)的示例:
viewer.onBeginExportReport = (args) => {
if (args.format == Stimulsoft.Report.StiExportFormat.Pdf)
args.settings.imageQuality = 0.5;
}
結(jié)束導(dǎo)出報(bào)告
用于實(shí)現(xiàn)獨(dú)立的文件保存。
該事件在導(dǎo)出報(bào)告之后、保存文件之前觸發(fā)。以下是事件處理程序參數(shù)的列表:
{
sender: "Viewer",
event: "BeginExportReport",
report: StiReport,
preventDefault: boolean,
async: boolean,
action: StiExportAction,
format: StiExportFormat,
formatName: string,
fileName: string,
openAfterExport: boolean,
data: string | number[]
}
更改導(dǎo)出文件名稱(chēng)的示例:
viewer.onEndExportReport = (args) => {
args.fileName = "SampleFileName.txt";
}
交互上
該事件在交互發(fā)生之前觸發(fā)。以下是事件處理程序參數(shù)的列表:
{
sender: "Viewer",
event: "Interaction",
report: StiReport,
preventDefault: boolean,
async: boolean,
action: string,
variables,
sortingParameters,
collapsingParameters,
drillDownParameters,
filteringParameters
}
替換變量值的示例:
viewer.onInteraction = (args) => {
if (args.action == "Variables")
args.variables["Variable1"] = "New Value";
}
電子郵件報(bào)告
它用于通過(guò)電子郵件發(fā)送導(dǎo)出的報(bào)告。
該事件在通過(guò)電子郵件發(fā)送報(bào)告之前觸發(fā)。以下是事件處理程序參數(shù)的列表:
{
sender: "Viewer",
event: "EmailReport",
report: StiReport,
settings: {
email: string;
subject: string;
message: string;
},
format: StiExportFormat,
formatName: string,
fileName: string,
data: number[] | string
}
要啟用該按鈕,您需要設(shè)置以下參數(shù):
viewerOptions.toolbar.showSendEmailButton = true;
發(fā)送電子郵件的示例:
viewer.onEmailReport = (args) => {
var emailAddress = args.settings.email;
var emailMessage = args.settings.message;
var emailSubject = args.settings.subject;
var emailAttachmentFileName = args.fileName;
var emailAttachment = args.data;
sendEmail(emailAddress, emailMessage, emailSubject, emailAttachmentFileName, emailAttachment);
}
想要了解Stimulsoft Reports 報(bào)價(jià)信息的朋友,歡迎咨詢(xún)。
加入官方社群 740060302,歡迎相互交流
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn