سلام من فرم زیر رو دارم میخوام گزارش رو که زدم برام گزارش stimul ایی نشون بده
آقای مدائنی من با استفاده از کدی که توو سایت بود تونستم یه گزارش بنویسم ، مشکلم من یه لیست آماده دارم و میخوام این لیست رو به همون تابع ایی که میره اطلاعات رو میخوونه برستم اینو نمیدونم چه جوری بگم
ببینید منظورم اینه
من الان ویو دارم به صورت زیر
public ActionResult IncomeReport() { return View(); }
@{ ViewBag.Title = "IncomeReport"; // Layout = "~/Views/Shared/_BuildingLayout.cshtml"; Layout = null; } @using System.Web.UI.WebControls; @using Stimulsoft.Report.Mvc; <div> @Html.Stimulsoft().RenderMvcViewerScripts() @Html.Stimulsoft().StiMvcViewer("MyViewr", new StiMvcViewerOptions() { ActionGetReportSnapshot = "LoadReportIncome", ActionViewerEvent = "ViewerEvent", Theme = StiTheme.Windows7, ActionPrintReport = "PrintReport", ActionExportReport = "ExportReport", ToolbarBackgroundColor = System.Drawing.Color.Silver }) </div>
ببینید توو اکشن LoadReportIncome به صورت عادی میتونم تووش بگم برو از بانک بخوون و لیست رو پر کن بده به Businness Object مثل زیر
public ActionResult LoadReportIncome() { List<BuildingIncome> lst = new List<BuildingIncome>(); lst.Add(new BuildingIncome() { Amount = 2000, DateString = "1395/04/12", Description = "بابت بدهی" }); StiReport report = new StiReport(); string Path = Server.MapPath("~/Report/ReportIncome.mrt"); report.Load(Path); report.RegBusinessObject("IncomeReport", lst); report.Dictionary.SynchronizeBusinessObjects(2); return StiMvcViewer.GetReportSnapshotResult(HttpContext, report); }
و تا اینجا مشکلی نیست ، ولی من میخوام یه لیست به این اکشن پاس بدم و از بانک نخوونم اینو چه جوری بگم؟
الان وقتی دکمه گزاش رو میزنم با ایجکس گفتم برو توو اکشن LoadReportIncome و لیست رو بهش پاس میده اما اررور میده چون ویو رو نگفتم نمایش بده
این کدمه ببینید
[HttpPost] public ActionResult LoadReportIncome(List<BuildingIncome> lst) { StiReport report = new StiReport(); string Path = Server.MapPath("~/Report/ReportIncome.mrt"); // نام و مسیر قالبی که در دیزانر ایجاد کردیم report.Load(Path); report.RegBusinessObject("IncomeReport", lst); // نام شیئی که در دیزانر ایجاد کردیم report.Dictionary.SynchronizeBusinessObjects(2); return StiMvcViewer.GetReportSnapshotResult(HttpContext, report); }
آقای مدائنی چیکار کنم؟
نمیشه به ویو گزارش مدل پاس داد؟
اگه اشتباه نکنم میخواهید از همان لیست صفحه استفاده کنید
میتونید از TempData استفاده کنید و لیست رو داخل اون قرار دهید
این لینک رو ببینید
بله دقیقاً میخوام از لیست صفحه استفاده کنم
فقط استفاده از tempdata خوبه؟
چون ممکنه خیلی افراد با این سامانه کارکنند
منظورم اینه این tempdata هیچ محدودیتی نداره توو چی ذخیره میشه ؟ توو session ذخیره میشه؟
اون مطالب رو مطالعه بفرمائید
جواب همه سوالاهاتون رو میگیرید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)