عدم نمایش گزارش کریستال ریپورت در wpf - خطای Value cannot be null
با سلام خدمت دوستان من در نمایش کریستال ریپورت Value cannot be null. بر میخورم تمامی run time ها رو نصب کردم. کریستال ریپورت 2008 کردم.
ReportDocument rd = new ReportDocument();
string path = System.AppDomain.CurrentDomain.BaseDirectory + "Report//" + this.Reportname;
rd.Load(path);
rd.RecordSelectionFormula = this.getformula;
switch (Reportname)
{
case "customerlist.rpt":
{
rd.SetParameterValue("ReportDate", string.Format("{0:yyyy/MM/dd}",
Convert.ToDateTime(calender.Text)));
break;
}
case "users.rpt":
{
rd.SetParameterValue("ReportDate", string.Format("{0:yyyy/MM/dd}",
Convert.ToDateTime(calender.Text)));
break;
}
case "forooah_koli.rpt":
{
rd.SetParameterValue("r_date", string.Format("{0:yyyy/MM/dd}",
Convert.ToDateTime(calender.Text)));
rd.SetParameterValue("az_date", param[0]);
rd.SetParameterValue("ta_date", param[1]);
break;
}
case "product.rpt":
{
rd.SetParameterValue("product_date", string.Format("{0:yyyy/MM/dd}",
Convert.ToDateTime(calender.Text)));
break;
}
case "forooah_koli_customer.rpt":
{
rd.SetParameterValue("r_date", string.Format("{0:yyyy/MM/dd}",
Convert.ToDateTime(calender.Text)));
rd.SetParameterValue("az_date", param[0]);
rd.SetParameterValue("ta_date", param[1]);
break;
}
case "invoice_report.rpt":
{
//////////////////////نام مشتری
rd.SetParameterValue("cname", param[1]);
/////////////////////تلفن مشتری
rd.SetParameterValue("ctell", param[2]);
///////////////////ادرس
rd.SetParameterValue("caddress", param[3]);
/////////////////تاریخ
rd.SetParameterValue("inviocedate", param[4]);
////////////////نوع فاکتور
rd.SetParameterValue("invoicetype", param[5]);
//////////////////مبلغ فروش
rd.SetParameterValue("cprice", param[6]);
/////////////////شماره فاکتور
rd.SetParameterValue("cinvoice", param[0]);
////////////////////////////تاریخ پرینت
rd.SetParameterValue("pdate", string.Format("{0:yyyy/MM/dd}",
Convert.ToDateTime(calender.Text)));
break;
}
}
crv.ViewerCore.ReportSource = rd;
پاسخ هوش مصنوعی
برای حل مشکل "Value cannot be null" در کریستال ریپورت در WPF، شما باید مطمین شوید که هیچ یک از پارامترهایی که به متد SetParameterValue ارسال می شود، null نیست. در اینجا چند نکته برای بررسی و رفع این مشکل آورده شده است:
- قبل از استفاده از متغیرها، مطمین شوید که آنها مقداردهی شده اند و
nullنیستند. - چک کنید که پارامترهایی مانند
param[0],param[1]و ... مقداردهی شده اند وnullنیستند. - مطمین شوید که نام گزارش (مثلاً
customerlist.rpt) صحیح است و فایل گزارش در مسیر مشخص شده وجود دارد. - می توانید از
Debug.Assertاستفاده کنید تا مطمین شوید که هیچ یک از پارامترهاnullنیستند.
به عنوان مثال، می توانید قبل از تنظیم پارامترها از موارد زیر استفاده کنید:
if (param != null && param.Length > 6 && param[2] != null) {
rd.SetParameterValue("ctell", param[2]);
} else {
// مدیریت خطا
}
با اعمال این تغییرات و بررسی مقدار متغیرها پیش از استفاده، باید مشکل "Value cannot be null" برطرف شود.
خطای value can not be null رو فقط باید توسط trace کردن پروژه پیدا کنید. چون داره میگه یکی از مقادیر شما null هست که نمی تونه null باشه و با دیدن کدها نمیشه اون مقدار یا متغیر رو پیدا کرد.
شما یک Breakpoint روی کدهاتون بذارید و با دکمه F10 خط به خط جلو برید و ببینید در کدون خط به مشکل برخورد می کنید.
در هر خطی که مشکل پیدا شد میتونید مقدار اون متغیر رو چک کنید.
اگر هم که همه کدها به درستی جلو رفتن و موقع اجرای گزارش خطا رو دریافت کردید پس یکی از متغیرهای شما داخل خود گزارش مشکل داره.
- آموزش نصب و راه اندازی دیتابیس PostgreSQL در ویندوز
- PostgreSql چیست ؟ چه کاربردهایی دارد ؟
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول