0

Ich habe eine funktionierende Report Viewer-Funktion in einer .net 4.5 Winforms-Anwendung. Vor kurzem zog ich die Formularseite des Berichts-Viewer-Steuerelement in ein separates Projekt, um es in einem eigenen AppDomain mit LegacyCAS Sicherheit aktiviert dh zu laden enthält:Seite Navigation Steuerelemente in Report Viewer Toolbar funktioniert nicht ordnungsgemäß

AppDomainSetup setup = new AppDomainSetup { ApplicationBase = Environment.CurrentDirectory, LoaderOptimization = LoaderOptimization.MultiDomainHost }; 
setup.SetCompatibilitySwitches(new[] { "NetFx40_LegacySecurityPolicy" }); 
AppDomain _casPolicyEnabledDomain = AppDomain.CreateDomain("Full Trust", null, setup); 
try 
{ 
    ReportViewAppDomain.rptSalesReport genSalesReport = (ReportViewAppDomain.rptSalesReport)_casPolicyEnabledDomain.CreateInstanceFromAndUnwrap(typeof(ReportViewAppDomain.rptSalesReport).Assembly.CodeBase, typeof(ReportViewAppDomain.rptSalesReport).FullName); 
    bool result = genSalesReport.SalesMonthlyReport_Load(Convert.ToDateTime(startTimePicker.Value), Convert.ToDateTime(endTimePicker.Value), stores, storeIds, depts, deptIds, ParentForm); 
} 
catch (Exception ex) 
{ 
    //handle exception here 
} 

genSalesReport.SalesMonthlyReport_Load() ist der Aufruf zu meinem Formular, das einen Bericht in Report generiert Viewer lokaler Modus. Seit dem Laden dieses Formulars in seine eigene AppDomain funktioniert das numerische Textfeld der Navigationsleiste des Berichtsbetrachters (siehe Abbildung) nicht. Ich kann eine Seitennummer in das Textfeld eingeben, aber wenn ich die Eingabetaste auf der Tastatur drücke, navigiert die Berichtsanzeige nicht zur angegebenen Seite.

report viewer tool bar img

Die Steuerseite Pfeile funktionieren noch und die Seitenzahlen und andere Funktionen sind richtig in der Navigationssteuerung. Ich habe this.reportViewer1.ShowPageNavigationControls = true; in der Designer-Datei angegeben und den Fokus auf die Formularseite des Berichts-Viewers gesetzt. Das Problem besteht jedoch weiterhin. Irgendwelche Vorschläge würden sehr geschätzt werden.

Antwort

1

Ich fand diese meine eigene Frage und ich vermute, dass es verwandt ist. Wir haben unseren WinForms AcceptButton (die Eingabetaste) mit der View-Schaltfläche verbunden. Als solche können wir immer nur den Auslöser "Bericht anzeigen" oder die Seitennavigation eingeben, nicht beides. Wir müssen den View-Report-Trigger ausschalten, nachdem der Bericht das erste Mal gerendert wurde oder die Navigationsschaltflächen nicht funktionieren. Empfehlen Sie das Formular zu überprüfen, in dem der Bericht gespeichert ist, um zu sehen, ob Sie Ihren Buchungsschlüssel doppelt gebucht haben.

Verwandte Themen