5

Ok, quindi sto costruendo una sorta di centrale di reporting per la società in cui lavoro e la parte facile è stata la creazione di un browser di file basato sul web, ora mi sto spostando verso l'aspetto del report e per avviarlo, sto integrando Crystal Reports. Ho già ottenuto i file dal sito Web SAP per loro, ma sto riscontrando un paio di problemi,Crystal Reports in MVC

Prima di tutto, tutti gli esempi che ho trovato lo rendono cosicché sia ​​necessario definire l'origine dati/database e includere le informazioni di accesso per esso nel codice. Questo è un problema perché abbiamo un sacco di report di cristallo, con molti riferimenti di database diversi, quindi non posso usarne uno per tutti. In effetti, ci sono report che utilizziamo tale database di riferimento multiplo allo stesso tempo.

In secondo luogo, tutti gli esempi che ho trovato fanno sembrare che devi avere una pagina specifica creata per ogni rapporto. Il mio obiettivo è essere in grado di avere il link di report come variabile e avere una pagina per tutti i report che abbiamo.

Ho guardato tutto quello che ho trovato ieri e non sono riuscito a trovare ciò di cui avevo bisogno. Mi chiedo anche cosa diavolo fa la funzione ReportClass.Load. È stato in ogni esempio che ho trovato e non ho notato alcuna differenza esplicita nel ReportClass che avevo quando l'ho usato.

Durante la ricerca, ho trovato una risposta che suggeriva di creare un'applicazione di moduli Web che avrebbe generato i report e quindi utilizzare un I-Frame per afferrarlo, ma è qualcosa che voglio evitare.

di riesame:

1) Ho bisogno di costruire rapporti di cristallo, senza dover fare riferimento al database

2) ho bisogno di essere flessibile a un report variabile fornendo solo il percorso del. rpt file di

3) vorrei che fosse in una singola applicazione, in MVC, ed evitando IFrame

Grazie mille per il vostro aiuto !!

EDIT: Ho trovato una soluzione che funziona per me. Invece di usare una vista RAZOR, ho usato una vista ASPX, che ha il Crystal Reports Viewer Tool nella casella degli strumenti. Per renderlo variabile ho usato il ViewBag.

Codice Controller:

[HttpGet] 
    public ActionResult Viewer(string Path) 
    { 
     var sessionID = Session.SessionID; 
     ViewBag.Path = newPath; 
     return View(); 
    } 

ASPX Visualizza codice:

<% Report.Report.FileName = ViewBag.Path; %> 
    <CR:CrystalReportViewer ID="Viewer" runat="server" AutoDataBind="True" GroupTreeImagesFolderUrl="" Height="100%" ReportSourceID="Report" ToolPanelWidth="200px" Width="100%" /> 
    <CR:CrystalReportSource ID="Report" runat="server"> 
     <Report></Report> 
    </CR:CrystalReportSource> 
+0

Mi piacerebbe molto e questa potrebbe essere una buona soluzione d'ora in poi, infatti, ho intenzione di aggiungere funzionalità per i report SSRS e report Excel nel progetto finale, ma abbiamo già centinaia di Crystal Reports già realizzati , Sto solo facendo lo spettatore per loro. Provare a rifilarle richiederebbe troppo tempo. Ci stiamo muovendo di più verso i rapporti SSRS ora, ma abbiamo ancora bisogno della stragrande maggioranza dei rapporti che abbiamo già in Crystal. E grazie per l'aiuto !! –

+0

Sì, ho trascurato la parte del tuo post sui rapporti esistenti, quindi ho eliminato il mio commento :) – HardCode

+0

Non so sui punti 2 e 3, ma il punto 1 non è possibile in Crystal, o SSRS, o qualsiasi altro progettista di report che conosco: come si suppone di aggiungere campi a un report se non si è in grado di determinare quali campi sono? (Dovresti essere in grado di * modificare * il layout dei report esistenti senza accedere al database, ma non costruirli da zero.) –

risposta

0

A "simile" (non è esatto) domanda è stato chiesto here. Spero che questo possa farti scendere nella giusta direzione.

0

1) Ho bisogno di costruire rapporti di cristallo, senza dover fare riferimento al database

Avete considerato la costruzione di un data warehouse per le vostre esigenze di reporting e analisi? Un data warehouse ha molti vantaggi rispetto a una struttura di reporting tradizionale, specialmente quando si estraggono dati da più fonti.

Riguardo al punto 2 & 3 avete considerato che i report di cristallo potrebbero semplicemente non essere la soluzione di segnalazione più ideale?

I report Crystal sono uno strumento potente, ma sinceramente non ne sono un grande fan quando fornisce informazioni di reporting su Internet o su una intranet.

Hai considerato gli strumenti di commutazione? Ad esempio, http://www.tableausoftware.com/ fornisce alcuni strumenti di visualizzazione dei dati eccellenti e IMO è uno strumento molto migliore per il lavoro che si sta descrivendo.

Si noti che questo è semplicemente uno strumento (come ce ne sono molti là fuori), ma uno che ho avuto qualche esperienza con e ha superato le nostre aspettative soprattutto quando si è seduti in cima a un data warehouse.

Problemi correlati