فیلتر اطلاعات در استیمول سافت بر اساس تاریخ (از تاریخ تا تاریخ در استیمول سافت)
از تاریخ تا تاریخ در استیمول سافت
با سلام با استفاده از استیمول سافت یک گزارش رو تهیه کردم و در نمایش اون مشکلی ندارم. اما میخوام بر اساس بازه تاریخی که کاربر از طریق سایت وارد میکنه اطلاعات داخل گزارش فیلتر بشه. لطفا راهنمایی بفرمایید نحوه فیلتر اطلاعات گزارش در استیمول سافت بر اساس بازه تاریخی به چه صورتی انجام میشه.
پروژه هم با استفاده از 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);
}
امیدوارم که بتونید به درستی از این توضیحات استفاده کنید.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- نمایش گزارش stimulsoft روی کلاینت
- آپلود فایل در Asp.net core چگونه است؟