Passare una textbox in un report

martedì 21 giugno 2011 - 13.05

serginho78 Profilo | Newbie

Ciao a tutti. Sono un novellino di C# che ha svolto un progetto e, adesso, mi trovo in difficoltà con i report (alla fine di un progetto i report sono sempre richiesti!).
Premesso che utilizzo Microsoft Visual Studio 2008 con Crystal Report integrato, la mia difficoltà è, come appunto suggerisce il titolo di questo thread, il passaggio del valore di una textbox in un crystal report. Questa è la situazione:

Ho creato una form1 in cui ho inserito una crystalReportViewer. Dopodichè ho creato un CrystalReport senza connessione a nessun database (posso anche metterla....ma non mi serve). Quindi ho creato un'altra form2 che ha 2 campi di testo che sono stati riempiti con dei dati che prendo dal database.

Quello che ho fatto nella form1 è, sostanzialmente, questo:

public Form1()
{
InitializeComponent();
}

private void crystalReportViewer1_Load(object sender, EventArgs e)
{
//istanzio gli oggetti
CrystalReport1 cry1 = new CrystalReport1();
Form2 ins = new Form2();

//carico il report
cry1.Load("C:\\Documents and Settings\\Sergio\\Documenti\\Visual Studio 2008\\Projects\\prova\\prova\\CrystalReport1.rpt");

// qui manca la parte centrale del codice che prevede il passaggio dei parametri di ciò che c'è nella textbox della form2 nel report CrystalReport1

//comando finale per la visualizzazione di ciò che ho fatto nel report
crystalReportViewer1.ReportSource = cry1;
crystalReportViewer1.Refresh();
}
}

Si accettano suggerimenti.

P.S. Ho anche provato a vedere come funziona il "Formula Workshop" nel report per creare dei comandi personalizzati....ma non ho ben capito il funzionamento. Si accettano suggerimenti e lezioni anche su questo argomento!

GRAZIE!!!


RISOLTO! Come faccio a chiudere questo thread?

freeteo Profilo | Guru

>RISOLTO!
come hai fatto? Posta una veloce soluzione così se qualcuno capita in questo thread da qualche ricerca sul web, può trovare informazioni utili.

>Come faccio a chiudere questo thread?
Non puoi con un solo post, dovresti accettare una risposta che ti viene data.


Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

serginho78 Profilo | Newbie

>RISOLTO!
come hai fatto? Posta una veloce soluzione così se qualcuno capita in questo thread da qualche ricerca sul web, può trovare informazioni utili.

Certamente!
Sono andato a crearmi, tramite il "Formula Workshop" (tasto dx del mouse su un punto del report che stiamo creando-->Report-->Formula Workshop), dei campi personalizzati (Formula Fields-->New) [ma potevo anche usare gli Unbound Fields che sono nella sezione di "Field Explorer" del Report che stiamo cercando di modificare] che mi servivano per il mio progetto (ad es: Cognome, Nome, etc.) sostanzialmente vuoti (senza nessuna formula o altro all'interno di questi "Fields").
Dopodichè, nella sezione di codice mancante che ho postato su questo report, sono andato a impostare il seguente codice:

//caricamento del report nella view della mia form principale di crystalreport
repFin.Load(Application.StartupPath + "\\ReportChiusuraNoleggio.cs");

// ho una cartella noleggioService dove ho messo le query che si collegano al database. Nel caso specifico ho utilizzato una query che, data una targa (keys), mi torna tutti i dati del guidatore associato alla macchina
var tipo in noleggioService.SelectNoleggio(Keys))

//questo è il settaggio dei fields che mi sono creato precedentemente
repFin.DataDefinition.FormulaFields["Cognome"].Text = "'" + tipo.Cognome + "'";
repFin.DataDefinition.FormulaFields["Nome"].Text = "'" + tipo.Nome + "'";

crystalReportViewer1.ReportSource = repFin;
crystalReportViewer1.Refresh();

Spero di essere stato abbastanza chiaro da essere un utile esempio per chi, in futuro, si troverà nella mia situazione!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5