翻譯|行業(yè)資訊|編輯:凌霄漢|2022-02-28 17:36:40.130|閱讀 256 次
概述:今天,在這篇文章中,我們將告訴您在報告中的表達(dá)式計算模式。實際上,只能有兩種——Compilation和Interpretation。這些是常見的概念;但是,本文將介紹它們在 Stimulsoft 平臺中的含義。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
今天,在這篇文章中,我們將在報告中告訴您表達(dá)式計算模式。實際上,只能有兩種——Compilation和Interpretation。這些是常見的概念;但是,本文將介紹它們在 Stimulsoft 平臺中的意義。
表達(dá)式處理模式是為每個模板單獨定義的。默認(rèn)情況下,在 Stimulsoft Designer 中創(chuàng)建新報告時,會使用Compilation模式。創(chuàng)建新儀表板時,使用Interpretation模式。由于此設(shè)置涉及模板,因此您可以使用稱為Calculation Mode的報告模板更改處理模式。反過來,它的值可以是Interpretation或Compilation。請注意,我們所有的儀表板都在Compilation模式下工作。
問題是某些平臺不支持編譯模式,因此我們的產(chǎn)品也不支持。在這種情況下,所有表達(dá)式都將在Interpretation模式下處理。結(jié)果,將發(fā)生以下情況。例如,在本地工作的東西在云中不起作用。這與產(chǎn)品中的錯誤無關(guān),而與服務(wù)和平臺安全有關(guān)。
那么在將報表計算模式定義為Compilation之前,您應(yīng)該確保平臺支持它。默認(rèn)情況下,在產(chǎn)品中新建報表時,如果不支持編譯,則計算方式定義為解釋。為了處理解釋中的報告,我們的引擎使用自己的解釋器。
順便說一句,以下產(chǎn)品支持Compilation模式:Reports.Net、Report.Wpf、Reports.Web、Reports.Angular、Report.Blazor(僅適用于 Blazor.Server)。
由于我們的文章是關(guān)于表達(dá)式計算模式和報表處理的,所以我們應(yīng)該提醒您,我們的設(shè)計器允許您查看編譯器或解釋器將處理的報表代碼。您應(yīng)該打開默認(rèn)隱藏的代碼選項卡以查看代碼。您可以從報告模板頁眉的上下文菜單中啟用它,選中代碼參數(shù)旁邊的框。兩件重要的事情 - 首先,應(yīng)該在報表設(shè)計器中選擇專業(yè)技能水平。其次,代碼選項卡包含整個報表的代碼,而不是某個報表模板頁面。
因此,在打開代碼選項卡后,您應(yīng)該選中旁邊的框在代碼編輯器區(qū)域的上下文菜單中顯示自動生成的代碼參數(shù)。結(jié)果,將生成報告代碼,在創(chuàng)建時將由翻譯器處理。
現(xiàn)在,我們將告訴您所有這些是如何指代 Stimulsoft 的。編譯是用高級源語言編寫的程序翻譯成用低級語言編寫的等效程序。首先對代碼進(jìn)行分析,然后將其翻譯成低級語言并執(zhí)行。在解釋代碼分析時,它的執(zhí)行是逐行進(jìn)行的。然而,我們的引擎使用它的解釋器,但不幸的是,它不能處理事件中的表達(dá)式。因此,Interpretation模式下的事件腳本將不起作用。但是,總有一個解決方案,您可以在下面閱讀它。
創(chuàng)建報表時,可以使用組件事件或報表事件。換句話說,您可以定義在情況發(fā)生時將觸發(fā)的操作。比如在開始渲染報表之前或者導(dǎo)出的時候或者報表中的行數(shù)會超過10行。一般我們可以寫很多關(guān)于報表中事件的文章,在其中使用事件和腳本是僅受您對報告的要求的限制。
不久前,我們將 Google Blockly 集成到我們的產(chǎn)品中。此功能允許您使用可視Blockly創(chuàng)建事件腳本。當(dāng)事件發(fā)生時,使用我們的特殊庫處理腳本以分析和計算使用塊創(chuàng)建的表達(dá)式。這樣,使用 Blockly 創(chuàng)建的腳本將在Interpretation和Compilation模式下工作。這就是為什么當(dāng)報告計算模式設(shè)置為Interpretation時,使用Blockly創(chuàng)建腳本是一種解決方案。
所以,我們已經(jīng)告訴了你一些關(guān)于報表計算模式的信息。此外,我們想重復(fù)幾個關(guān)鍵點:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn