عدم نمایش گزارش کریستال ریپورت در 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 خط به خط جلو برید و ببینید در کدون خط به مشکل برخورد می کنید.
در هر خطی که مشکل پیدا شد میتونید مقدار اون متغیر رو چک کنید.
اگر هم که همه کدها به درستی جلو رفتن و موقع اجرای گزارش خطا رو دریافت کردید پس یکی از متغیرهای شما داخل خود گزارش مشکل داره.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول