Problema visualizzazione dati

mercoledì 03 ottobre 2007 - 09.51

tarabasch84 Profilo | Junior Member

salve a tutti, sto lottando con questo problema da qualche giorno. Ho la necessità di visualizzare all'interno di un Crystal Report dati provenienti da due tabelle collegate nel db da una relazione con integrità referenziale. Mi sono affidato alla procedura guidata di creazione report che mi da la possibilità di crearlo in pochi passaggi. In runtime gli passo il datatable contente i dati sia di una tabella che dell'altra tabella. Indipendentemente dal tipo di join effettuato visualizzo solo e soltanto i dati della tabella con la chiave esterna di riferimento, mentre i dati dell'altra tabella non li visualizzo.
Utilizzo i Crystal Report versione 10.2.3600 integrati in visual studio 2005. Lavoro in c# e il codice che eseguo a runtime è questo:

OleDbConnection database = null;
OleDbDataAdapter da = null;

try
{
database = new OleDbConnection(Impostazioni.conn_string);
da = new OleDbDataAdapter("SELECT Articolo.descrizione, Articolo.barcode, Articolo.modello, " +
"Articolo.[note], Categoria.nome_categoria FROM " +
"Articolo LEFT OUTER JOIN Categoria ON Articolo.idcategoria = Categoria.idcategoria", database);
DataTable dt = new DataTable();
da.Fill(dt);

Report_Articolo rp = new Report_Articolo();
rp.SetDataSource(dt);
crystalReportViewer1.ReportSource = rp;
}
catch ....

Spero mi potiate essere d'aiuto.

freeteo Profilo | Guru

ciao,
non so se ho capito male, ma nella costruzione del report hai specifiato 2 tabelle linkate? (intendo proprio da deigner)
Se è cosi' allora devi settare la sorgente dati ad entrambe le tabelle del report, il quale poi fara' lui il link relativo per il campo che hai specificato sempre a design-time.

Il codice dovrebbe essere di questo tipo:
report.Database.Tables(0).SetDataSource(...) report.Database.Tables(1).SetDataSource(...)

se invece hai usato 1 sottoreport, lo stesso ragionamento lo devi applicare al sottoreport:
report.SetDataSource(...); report.Subreports["mio"].SetDataSource(...);
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

tarabasch84 Profilo | Junior Member

Ho risolto come dicevi tu, in pratica precedentemente il report carcava solo i dati relativi alla prima tabella, tutte le altre le ignorava...
Ti ringrazio.
Saluti Aldo
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5