Ali0Boy
دوشنبه 23 مرداد 1391, 00:53 صبح
باسلام و عرض خسته نباشید
من برای ارسال پارامتر مستقیم به یه ریپورت از نوع کریستال ریپورد، داخل کریستال ریپورت یک Report Comments اضافه کردم و سپس نام آن را Text2 گذاشتم و از درون صفحه ای دیگر آن فیلد را با تابع SetParameterValue مقدار دهی کردم ولی با خطای زیر روبرو شدم!
کد:
crpChapFact crp = new crpChapFact();
Form1 f1 = new Form1();
crp.SetParameterValue("Text2", "salam iran");
f1.crystalReportViewer1.ReportSource = crp;
f1.ShowDialog();
خطای زیر در خط سوم رخ داد.
شرح کامل خطا:
Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
System.Runtime.InteropServices.COMException was unhandled
Message="Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))"
Source="CrystalDecisions.ReportAppServer.DataDefModel"
ErrorCode=-2147352565
StackTrace:
at CrystalDecisions.ReportAppServer.DataDefModel.Fiel dsClass.get_Item(Int32 Index)
at CrystalDecisions.CrystalReports.Engine.ParameterFi eldDefinitions.get_Item(Int32 index)
at CrystalDecisions.CrystalReports.Engine.ParameterFi eldDefinitions.get_Item(String fieldName)
at CrystalDecisions.CrystalReports.Engine.ReportDocum ent.SetParameterValue(String name, Object val)
at shopManagement_Star01.frmOptMainShop.btnSaveSt2_Cl ick(Object sender, EventArgs e) in D:\Shop-Management-Star01\shopManagement-Star01\frmOptMainShop.cs:line 35
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchM essageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoCompo nentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
at shopManagement_Star01.frmMain.btnOtherOpt_Click(Ob ject sender, EventArgs e) in D:\Shop-Management-Star01\shopManagement-Star01\frmMain.cs:line 108
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchM essageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoCompo nentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32 reason, ApplicationContext context)
at shopManagement_Star01.Program.Main() in D:\Shop-Management-Star01\shopManagement-Star01\Program.cs:line 22
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
at System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
اینطور که این نوشته و من فهمیدم میگه همچین پارامتری وجود ندارد، در صورتی که این پارامتر وجود دارد!!!
من برای ارسال پارامتر مستقیم به یه ریپورت از نوع کریستال ریپورد، داخل کریستال ریپورت یک Report Comments اضافه کردم و سپس نام آن را Text2 گذاشتم و از درون صفحه ای دیگر آن فیلد را با تابع SetParameterValue مقدار دهی کردم ولی با خطای زیر روبرو شدم!
کد:
crpChapFact crp = new crpChapFact();
Form1 f1 = new Form1();
crp.SetParameterValue("Text2", "salam iran");
f1.crystalReportViewer1.ReportSource = crp;
f1.ShowDialog();
خطای زیر در خط سوم رخ داد.
شرح کامل خطا:
Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
System.Runtime.InteropServices.COMException was unhandled
Message="Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))"
Source="CrystalDecisions.ReportAppServer.DataDefModel"
ErrorCode=-2147352565
StackTrace:
at CrystalDecisions.ReportAppServer.DataDefModel.Fiel dsClass.get_Item(Int32 Index)
at CrystalDecisions.CrystalReports.Engine.ParameterFi eldDefinitions.get_Item(Int32 index)
at CrystalDecisions.CrystalReports.Engine.ParameterFi eldDefinitions.get_Item(String fieldName)
at CrystalDecisions.CrystalReports.Engine.ReportDocum ent.SetParameterValue(String name, Object val)
at shopManagement_Star01.frmOptMainShop.btnSaveSt2_Cl ick(Object sender, EventArgs e) in D:\Shop-Management-Star01\shopManagement-Star01\frmOptMainShop.cs:line 35
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchM essageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoCompo nentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
at shopManagement_Star01.frmMain.btnOtherOpt_Click(Ob ject sender, EventArgs e) in D:\Shop-Management-Star01\shopManagement-Star01\frmMain.cs:line 108
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchM essageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoCompo nentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32 reason, ApplicationContext context)
at shopManagement_Star01.Program.Main() in D:\Shop-Management-Star01\shopManagement-Star01\Program.cs:line 22
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
at System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
اینطور که این نوشته و من فهمیدم میگه همچین پارامتری وجود ندارد، در صورتی که این پارامتر وجود دارد!!!