دسته بندی ها
18:01 1399/07/30

فیلتر اطلاعات در استیمول سافت بر اساس تاریخ (از تاریخ تا تاریخ در استیمول سافت)

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : Asp.net Core سی شارپ استيمول سافت

به این سوال امتیاز بدهید    1
تعداد بازدید این سوال : 6792
هوش مصنوعی

پاسخ هوش مصنوعی

برای فیلتر کردن اطلاعات در گزارش استیمول سافت بر اساس بازه تاریخی در پروژه ASP.NET Core، می توانید مراحل زیر را دنبال کنید:

1. ابتدا تاریخ های مورد نظر را از کاربر دریافت کنید. این کار می تواند از طریق یک فرم ساده انجام شود.


public class DateRangeModel
{
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
}

2. سپس در کنترلر خود، متد مربوط به پایگاه داده را برای دریافت داده ها بر اساس تاریخ های ورودی ایجاد کنید:


[HttpPost]
public IActionResult GetReport(DateRangeModel dateRange)
{
    var data = _dbContext.YourDataSet
        .Where(x => x.Date >= dateRange.StartDate && x.Date <= dateRange.EndDate)
        .ToList();
        
    // سپس داده ها را به گزارش استیمول سافت ارسال کنید
    var report = new StiReport();
    report.Load("YourReportPath.mrt");
    report.RegData("DataSet", data);
    report.RenderedPages.SetPageCount();
    
    return StiNetCoreViewer.GetReportResult(report);
}

3. در نهایت اشیاء مربوط به گزارش را به فرم خود اضافه کنید تا کاربر بتواند فیلتر خود را اعمال کند.

با پیروی از این مراحل، می توانید گزارشی تهیه کنید که بر اساس بازه تاریخی که کاربر وارد کرده است، فیلتر شود.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 00:16 1399/08/01

فیلتر اطلاعات گزارش در استیمول سافت بر اساس بازه تاریخی

در مورد فیلتر اطلاعات گزارش در استیمول سافت باید نحوه ارسال پارامتر به استیمول سافت رو بدونید به چه صورتی هست. برای این کار یک مثال عملی انجام میدیم.

  • خب شما در ابتدا باید یک گزارش رو در استیمول سافت طراحی کنید. بعد از طراحی گزارش در استیمول سافت و نمایش اطلاعات در گزارش از قسمت سمت راست منوی Dictionary رو باز کنید و روی DataSource کلیک راست کنید و گزینه Properties رو بزنید.

 

ارسال پارامتر به استیمول سافت

 

  • خب حالا باید فرم زیر رو ببینید.

 

ساخت گزارش در استیمول سافت

  • در این فرم کوئری که توسط اون اطلاعات رو نمایش می دید رو می بینید. در اینجا باید 2 تا پارامتر برای تاریخ ایجاد کنیم و در این کوئری استفاده کنیم. بنابراین مراحل زیر را انجام بدید. پنجره بالا را ببندید (Edit Data Source). دو متغیر به نام های startdate و enddate را تعریف کنید. متغیرها را از نوع string تعریف کنید.

 

تعریف متغیر در استیمول سافت

 

  • خب حالا مجدد روی Data Source کلیک راست کنید و گزینه Edit را بزنید و مطابق تصویر زیر تغییرات را انجام دهید. همونطوری که در تصویر زیر می بینید کوئری رو به صورت شرطی نوشتیم و دو تا پارامتر هم به نام های startdate و enddate تعریف کردیم که در کوئری این دو پارامتر استفاده شده. (دقت کنید نام پارامتر با نام متغیرهایی که در مرحله قبلی تعریف کردیم دقیقا یکی باشد.)

ساخت گزارش در استیمول سافت

  • حالا در کدهای سی شارپ خودتون باید مقادیر 'از تاریخ' و 'تا تاریخ' رو به صورت پارامتر به گزارش ارسال کنید.

 

public IActionResult CreateLeaveReport()
{
    StiReport report = new StiReport();
    report["startdate"] = '1399/05/01';
    report["enddate"] = '1399/08/01';
    report.Load(StiNetCoreHelper.MapPath(this, "wwwroot/reports/report.mrt"));
    return StiNetCoreReportResponse.PrintAsPdf(report);
}

 

امیدوارم که بتونید به درستی از این توضیحات استفاده کنید.

ارسال پارامتر به گزارش

به این پاسخ امتیاز بدهید    1
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود