翻譯|行業資訊|編輯:胡濤|2024-04-28 10:17:04.590|閱讀 88 次
概述:在本文中,我們為JS報告工具中的查看器事件提供了全面的指南,包括它們的詳細描述、參數列表等一系列詳細內容。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于創建報表和儀表板的通用工具集。該產品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他環境的完整工具集。無需比較產品功能,Stimulsoft Ultimate包含了所有內容!
在本文中,我們為JS報告工具中的查看器事件提供了全面的指南,包括它們的詳細描述、參數列表等一系列詳細內容。在上一篇文章中,我們討論了報告事件,而在這篇文章中,我們將討論查看器事件。
準備變量
該事件在報表構建開始時、在報表中填充變量之前觸發。它在StiReport實例上處理onPrepareVariables事件后立即發生。以下是事件處理程序參數的列表:
{
event: "PrepareVariables",
sender: "Viewer",
report: StiReport,
preventDefault: boolean,
async: boolean,
variables: []
}
替換變量值的示例:
viewer.onPrepareVariables = (args, callback) => {
args.variables[0].value = "Replace value";
}
開始處理數據
該事件在請求構建報告所需的數據之前觸發。它在StiReport實例上處理onBeginProcessData事件后立即發生。以下是事件處理程序參數的列表:
{
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";
}
這是我們自己實現數據檢索的示例:
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);
}
}
進程結束數據
該事件在收到構建報告所需的數據后觸發。它在StiReport實例上處理onEndProcessData事件后立即發生。以下是事件處理程序參數的列表 :
{
sender: "Viewer",
event: "EndProcessData",
report: StiReport,
command: string,
dataSource: string,
connection: string,
database: string,
result: DataSet|any
}
從適配器調整數據的示例:
viewer.onEndProcessData = (args) => {
if (args.command == "ExecuteQuery" && args.dataSource == "Categories")
args.result.rows.push(rowData) ;
// //github.com/stimulsoft/DataAdapters.JS/
}
打印報告
它用于在打印之前修改報告或實現自定義打印功能。
該事件在打印報告之前觸發。以下是事件處理程序參數的列表:
{
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);
}
開始導出報告
它用于在導出之前調整導出設置或修改報告。
該事件在導出報告之前、對話框中指定的導出設置完成之后觸發。以下是事件處理程序參數的列表:
{
sender: "Viewer",
event: "BeginExportReport",
report: StiReport
preventDefault: boolean,
async: boolean,
action: StiExportAction,
settings: IStiDashboardExportSettings | StiExportSettings,
format: StiExportFormat,
formatName: string,
fileName: string,
openAfterExport: boolean,
}
調整導出參數的示例:
viewer.onBeginExportReport = (args) => {
if (args.format == Stimulsoft.Report.StiExportFormat.Pdf)
args.settings.imageQuality = 0.5;
}
結束導出報告
用于實現獨立的文件保存。
該事件在導出報告之后、保存文件之前觸發。以下是事件處理程序參數的列表:
{
sender: "Viewer",
event: "BeginExportReport",
report: StiReport,
preventDefault: boolean,
async: boolean,
action: StiExportAction,
format: StiExportFormat,
formatName: string,
fileName: string,
openAfterExport: boolean,
data: string | number[]
}
更改導出文件名稱的示例:
viewer.onEndExportReport = (args) => {
args.fileName = "SampleFileName.txt";
}
交互上
該事件在交互發生之前觸發。以下是事件處理程序參數的列表:
{
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";
}
電子郵件報告
它用于通過電子郵件發送導出的報告。
該事件在通過電子郵件發送報告之前觸發。以下是事件處理程序參數的列表:
{
sender: "Viewer",
event: "EmailReport",
report: StiReport,
settings: {
email: string;
subject: string;
message: string;
},
format: StiExportFormat,
formatName: string,
fileName: string,
data: number[] | string
}
要啟用該按鈕,您需要設置以下參數:
viewerOptions.toolbar.showSendEmailButton = true;
發送電子郵件的示例:
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 報價信息的朋友,歡迎咨詢。
加入官方社群 740060302,歡迎相互交流
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn