با توجه به عرضه نسخه net core.، این گزارشگر هم تغییراتی در نسخههای اخیر خود داده و هم اینکه پیشرفتهای زیادی نیز کرده است.
2- همچنین در نهایت باید فایل لایسنس نیز در پروژه قرار گرفته و در Startup به استیمول معرفی گرد. به همین جهت کلاس زیر را اضافه کنید:
که در خط دوم مسیر فایل لایسنس معرفی شده است که برای پروژه شما باید اصلاح شود و در startup.cs به صورت زیر استفاده میشود:
برای نمایش گزارش همه چیز کماکان مثل سابق است فقط یک سری جزئیات تغییر نموده است:
همچنین در ویو RequestReport.cshtml کد به شکل زیر تغییر میکند:
با توجه به نیاز کد بالا را تغییر دهید. تقریبا تا حدی خصوصیتها تغییر کردهاند ولی نه خیلی.
بعد از نصب نسخه مورد نظر (برای نسخه 3.1 نیاز به نصب استیمول 2020 است) طبق این لینک مشکل Trial بودن (برای ما) را حل کنید.
در مورد این لینک چند نکته قابل ذکر است:
1- از شما میخواهد که dllهای جایگزین بعد از build، با dllها اصلی جابجا شوند که انجام این مورد در Visual Studio به خاطر داشتن UI برای اینکار به راحتی انجام میشد ولی در Visual Studio Code و Rider، چنین موردی باید به صورت دستی صورت بگیرد؛ به همین علت در فایل csproj پروژه اصلی، کدهای زیر را اضافه کنید:
<Target Name="PostBuild" AfterTargets="PostBuildEvent"> <Exec Command="xcopy /y /d $(ProjectDir)Packages\*.* $(OutDir)" /> </Target>
public static class StimulSoftLicense { public static void LoadLicense(IWebHostEnvironment environment) { var contentRoot = environment.ContentRootPath; var licenseFile = System.IO.Path.Combine(contentRoot,"Reports", "license.key"); Stimulsoft.Base.StiLicense.LoadFromFile(licenseFile); } }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { StimulSoftLicense.LoadLicense(env); }
public IActionResult RequestReport(int id) { return View(); } public IActionResult LoadReportData(int id) { StiReport report = new StiReport(); report.Load(StiNetCoreHelper.MapPath(this, "Reports/Requests/RequestInfo.mrt")); var landDetailsReport = GetOwnerReportData(id); report.RegBusinessObject("Land", landDetailsReport); return StiNetCoreViewer.GetReportResult(this, report); } public IActionResult ViewerEvent() { return StiNetCoreViewer.ViewerEventResult(this); }
<div style="direction: ltr"> @Html.StiNetCoreViewer(new StiNetCoreViewerOptions() { Theme = StiViewerTheme.Office2007Silver, Appearance = { RightToLeft = true, //ShowTooltips = false, ShowTooltipsHelp = false, }, Localization = "~/Reports/fa.xml", Actions = { GetReport = "LoadReportData", ViewerEvent = "ViewerEvent", }, Toolbar = { ShowAboutButton = false, ShowOpenButton = false, ShowSaveButton = true, ShowFindButton = false, ShowEditorButton = false, ShowDesignButton = false, ShowBookmarksButton = false, ShowResourcesButton = false, ShowParametersButton = false, ShowPinToolbarButton = false }, Exports = { DefaultSettings = { ExportToPdf = { CreatorString = "SANA" } }, ShowExportDialog = false, ShowExportToDocument = false, ShowExportToExcel = false, ShowExportToExcel2007 = false, ShowExportToHtml = false, ShowExportToHtml5 = false, ShowExportToImageBmp = false, ShowExportToImageJpeg = false, ShowExportToImagePcx = false, ShowExportToImagePng = false, ShowExportToImageMetafile = false, ShowExportToImageTiff = false, ShowExportToOpenDocumentCalc = false, ShowExportToMht = false, ShowExportToOpenDocumentWriter = false, ShowExportToXps = false, ShowExportToSylk = false, ShowExportToRtf = false, ShowExportToExcelXml = false, ShowExportToText = false, ShowExportToWord2007 = false, ShowExportToImageGif = false, ShowExportToCsv = false, ShowExportToDbf = false, ShowExportToDif = false, ShowExportToImageSvg = false, ShowExportToImageSvgz = false, ShowExportToPowerPoint = false, ShowExportToXml = false, ShowExportToJson = false } }) </div>
یک نکته مهم در مورد div که این helper را محصور کرده وجود دارد و آن این است که حالت RTL قالب شما روی Helper استیمول تاثیر میگذارد ( به خصوص روی خود گزارش) برای همین از تنظیمات داخل خود Helper برای اینکار استفاده میکنیم؛ ولی اگر قالب RTL باشد و استیمول هم روی RTL تنظیم شود در نوار ابزار، ترتیب ابزارها معکوس میگردد. به همین دلیل حالت پیش فرض، یعنی LTR میباشد و با تظیم Helper به این مهم دست پیدا میکنیم.
کدهای زیر را نیز به فایل css صفحه اضافه کنید تا در گزارش ساز استیمول اعمال گردد:
.stiJsViewerClearAllStyles { font-family: "IRANSans" !important; } //مخصوص دیالوگ تنظیمات خروجی در صورت فعال بودن .stiJsViewerGroupPanelContainer{ direction: rtl !important; } .stiJsViewerFormButtonDefault{ direction: rtl !important; } .stiJsViewerFormButtonOver{ direction: rtl !important; } .stiJsViewerFormButtonDefault>table>tbody>tr>td{ text-align: right !important; } .stiJsViewerFormButtonOver>table>tbody>tr>td{ text-align: right !important; } .stiJsViewerFormHeader{ direction: rtl; } .stiJsViewerFormHeader>table>tbody>tr>td{ text-align: right !important; } .stiJsViewerCheckBox{ direction:rtl !important; } .stiJsViewerDropdownPanel{ direction:rtl !important; } .stiJsViewerFormContainer td.stiJsViewerClearAllStyles{ direction:rtl !important; } .stiMvcViewerReportPanel table{ direction:ltr !important; }