مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

محمد ملکی

عضویت از 1394/03/02

مشکل ارسال پارامتر برای گزارش گیری Stimul Report

  • شنبه 12 تیر 1395
  • 11:32
تشکر میکنم

سلام من فرم زیر رو دارم میخوام گزارش رو که زدم برام گزارش 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);
        }

آقای مدائنی چیکار کنم؟

نمیشه به ویو گزارش مدل پاس داد؟

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 12 تیر 1395
  • 12:58

اگه اشتباه نکنم میخواهید از همان لیست صفحه استفاده کنید

میتونید از TempData استفاده کنید و لیست رو داخل اون قرار دهید

این لینک رو ببینید

کاربر سایت

محمد ملکی

عضویت از 1394/03/02

  • شنبه 12 تیر 1395
  • 13:07

بله دقیقاً میخوام از لیست صفحه استفاده کنم

فقط استفاده از tempdata خوبه؟

چون ممکنه خیلی افراد با این سامانه کارکنند

منظورم اینه این tempdata هیچ محدودیتی نداره توو چی ذخیره میشه ؟ توو session ذخیره میشه؟

 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 12 تیر 1395
  • 13:08

اون مطالب رو مطالعه بفرمائید

جواب همه سوالاهاتون رو میگیرید

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)