فیلتر اطلاعات در استیمول سافت بر اساس تاریخ (از تاریخ تا تاریخ در استیمول سافت)
از تاریخ تا تاریخ در استیمول سافت
با سلام با استفاده از استیمول سافت یک گزارش رو تهیه کردم و در نمایش اون مشکلی ندارم. اما میخوام بر اساس بازه تاریخی که کاربر از طریق سایت وارد میکنه اطلاعات داخل گزارش فیلتر بشه. لطفا راهنمایی بفرمایید نحوه فیلتر اطلاعات گزارش در استیمول سافت بر اساس بازه تاریخی به چه صورتی انجام میشه.
پروژه هم با استفاده از Asp.net Core هست.
پاسخ هوش مصنوعی
برای فیلتر کردن اطلاعات در گزارش استیمول سافت بر اساس بازه تاریخی در پروژه 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. در نهایت اشیاء مربوط به گزارش را به فرم خود اضافه کنید تا کاربر بتواند فیلتر خود را اعمال کند.
با پیروی از این مراحل، می توانید گزارشی تهیه کنید که بر اساس بازه تاریخی که کاربر وارد کرده است، فیلتر شود.
فیلتر اطلاعات گزارش در استیمول سافت بر اساس بازه تاریخی
در مورد فیلتر اطلاعات گزارش در استیمول سافت باید نحوه ارسال پارامتر به استیمول سافت رو بدونید به چه صورتی هست. برای این کار یک مثال عملی انجام میدیم.
- خب شما در ابتدا باید یک گزارش رو در استیمول سافت طراحی کنید. بعد از طراحی گزارش در استیمول سافت و نمایش اطلاعات در گزارش از قسمت سمت راست منوی 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);
}
امیدوارم که بتونید به درستی از این توضیحات استفاده کنید.
- آموزش نصب و راه اندازی دیتابیس PostgreSQL در ویندوز
- PostgreSql چیست ؟ چه کاربردهایی دارد ؟
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- نمایش گزارش stimulsoft روی کلاینت
- آپلود فایل در Asp.net core چگونه است؟