Rapport Crystal à l'index non Valide. (Exception de HRESULT: 0x8002000B (DISP_E_BADINDEX))
J'ai fait un rapport crystal dans asp.net pour l'application web. Certains ont ouvert bien. Mais parfois il ne le fait pas. Il montre le problème suivant.
Index non valide. (Exception de HRESULT: 0x8002000B (DISP_E_BADINDEX))
Description: Une exception non gérée s'est produite pendant l'exécution de la demande web actuelle. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et où elle a son origine dans le code.
Détails De L'Exception: System.Moment de l'exécution.InteropServices.COMException: index non Valide. (Exception de HRESULT: 0x8002000B (DISP_E_BADINDEX))
Source De L'Erreur:
Une exception non gérée s'est produite lors de l'exécution de la demande web actuelle. Informations concernant l'origine et l'emplacement de l'exception peut être identifié à l'aide de la trace de pile d'exception ci-dessous.
Trace De La Pile:
[COMException (0x8002000b): index non Valide. (Exception de HRESULT: 0x8002000B (DISP_E_BADINDEX))]
Report_Viewer.Page_Load(Object sender, EventArgs e) +894
Système.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, l'Objet o, t Objet, EventArgs e) +14
Système.Web.Util.CalliEventHandlerDelegateProxy.Rappel(Object sender, EventArgs e) +35
Système.Web.L'INTERFACE utilisateur.De contrôle.OnLoad(EventArgs e) +99
Système.Web.L'INTERFACE utilisateur.De contrôle.LoadRecursive() +50
Système.Web.L'INTERFACE utilisateur.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Informations De Version: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927
Mon VS: VS 2008, la Base de données:MS SQL Express 2005, OS:Windows 7
Est-il un résoudre mon problème..
NB: Mon code est dans une Classe
public ReportDocument ShowReport(string ReportName, string Parameter1)
{
try
{
cryRpt.Load(ReportName);
cryRpt.SetDatabaseLogon(UserName, Password, ServerName, DatabaseName);
crParameterValues.Clear();
crParameterDiscreteValue.Value = Parameter1;//as like Parameter1
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions["@Parameter1"];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
}
catch (Exception ex)
{
throw ex;
//ShowReport(@"default_report.rpt");
}
//CleareParameter();
return cryRpt;
}
De la Visionneuse de rapports de chargement de la Page
protected void Page_Load(object sender, EventArgs e)
{
string ReportName="";
string Parameter1="";
ReportName= Session["ReportName "].ToString();
Parameter1 = Session["Parameter1"].ToString();
}
try
{
if (Session["Parameter2"].ToString() != null)
{
Parameter2 = Session["Parameter2"].ToString();
icount = icount + 1;
}
}
catch (Exception ) { }
ReportViewer oReportViewer = new ReportViewer(); //Class file
ReportDocument rptDoc = new ReportDocument();
try
{
rptDoc = oReportViewer.ShowReport(ReportName, Parameter1);
rptDoc = oReportViewer.ShowReport(ReportName, Parameter1,
rptDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "Report");
CrystalReportViewer1.ReportSource = rptDoc;
}
catch (Exception ex)
{
throw ex;
}
}
Vous devez vous connecter pour publier un commentaire.
*2. Ajouter une Fonction Pour Charger et Régler le Paramètre*
C'est parce que les paramètres (paramètres ou des noms) que vous avez défini dans votre code sont différents des paramètres définis dans votre rapport
Cette erreur se produit également lorsque vous modifiez la page de réglage de la taille de la précédente et j'ai oublié de modifier le code de la force d'impression à l'aide de la page précédente paramètres.
par exemple. A5 > format A4, mais avec un code vous êtes toujours à la page de réglage de la taille à A5.
Cette erreur se produit lorsque vos paramètres ne sont pas comparables dans les deux rapports & codage. Peut-être votre nom de paramètre est incorrect. Afin de vérifier les paramètres & les noms des paramètres sont les mêmes dans le rapport & votre codage.