当我尝试打印水晶报告时会显示此错误。
在PresentationFramework.dll中发生了System.ArgumentNullException
我正在尝试构建一个WPF
应用程序,
我在另一种形式中使用了相同的代码,并且在那里工作得很好。
但在此页面显示错误。
private void btnReciept_Click(object sender, RoutedEventArgs e)
{
try {
if (txtComplainNo.Text == "")
{
ModernDialog.ShowMessage("Enter Complain Number","ErrorFound", MessageBoxButton.OK);
}
else
{
InsertFinalReport();
var ConString = System.Configuration.ConfigurationManager.ConnectionStrings["GalaxyApp.Properties.Settings.ConnString"].ConnectionString;
string CmdString = string.Empty;
SqlCommand cmd = new SqlCommand();
SqlDataAdapter MyDA = new SqlDataAdapter();
DataSet myDS = new DataSet();
// DataSet1 myDS = new DataSet1();
SqlConnection con = new SqlConnection(ConString);
cmd.Connection = con;
cmd.CommandText = "Select * from FinalReport where ComplainNo='" + Convert.ToInt32(txtComplainNo.Text) + "'";
cmd.CommandType = System.Data.CommandType.Text;
MyDA.SelectCommand = cmd;
MyDA.Fill(myDS, "FinalReport");
// FinalReportDS myDS = new FinalReportDS();
// myDS.EnforceConstraints=false;
if (myDS.Tables[0].Rows.Count == 0)
{
ModernDialog.ShowMessage("EmptyDataSet", "ErrorFound", MessageBoxButton.OK);
}
else
{
CourierReport1 rpt = new CourierReport1();
rpt.SetDataSource(myDS);
FinalReportViewer FRV = new FinalReportViewer();
FRV.ReportViewer.ViewerCore.ReportSource = rpt;
FRV.Show();
}
//Report frm1 = new Report();
//frm1.ReportViewer1.ViewerCore.ReportSource = rpt;
//frm1.Show();
///*
//Form1 mform = new Form1();
//mform.ShowReport(Convert.ToInt32(txtComplainNo.Text));
//mform.Show();
//*/
}
}
catch(Exception ex)
{
ModernDialog.ShowMessage(ex.Message, "ErrorFound", MessageBoxButton.OK);
}
}
我尝试了所有替代代码。 请任何人都可以帮我找到导致此错误的原因
堆栈追踪:
at System.Windows.Interop.WindowInteropHelper..ctor(Window window)
at System.Windows.MessageBox.Show(Window owner, String messageBoxText, String caption, MessageBoxButton button, MessageBoxImage icon)
at SAPBusinessObjects.WPF.Viewer.ViewerCore.HandleExceptionEvent(Object eventSource, Exception e, Boolean suppressMessage)
at SAPBusinessObjects.WPF.Viewer.ReportAlbum.OnHandleException(Exception e)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at GalaxyApp.App.Main() in D:\GoogleDrive\extra\GalaxyApp\GalaxyApp\obj\Debug\App.g.cs:line 0
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Stack Trace:
答案 0 :(得分:0)
这是一个小小的错误'在CrystalReports中,在某些情况下不显示任何有用的异常详细信息。我最近也遇到过它。
这个问题非常难以找到,因为例外基本上没有任何内容......问题也可能在报告中,而不是代码本身。
如果报告有任何问题,您将不得不调试并检查报告。
检查所有详细信息。
检查使用过的DB表和列......
我遇到了问题,子报告有几个参数,父母也有。但这些并未自动传递给子报告。有必要为报告提供所有必需的参数。也许这对你有帮助。如果没有报告,代码和环境,很难说。
答案 1 :(得分:0)
谢谢你每一个特别是@Blacktempe谁让我把这个问题标记为水晶报告我从这个帖子Crystal Reports - Value cannot be null. Parameter name: window找到了答案?