|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[.Net]Conversione Ilist o List<> in DataSet
Ciao a tutti
Avrei bisogno del vostro aiuto per convertire o popolare un dataset da una lista. Questo perchè lo strumento di generazione report a disposizione, prende in pasto solo dataset o datatable. Avreste qualche indicazione da darmi ? Grazie mille RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
potresti serializzare la lista in xml e leggere l'xml dal dataset...
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
http://www.hwupgrade.it/forum/showthread.php?t=2023759 [ mio post #11 ]. Comunque, di metodi ce ne sono diversi. Dai un'occhiata anche qui : http://www.codeproject.com/KB/vb/List2DataSet.aspx |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Grazie per la risposta innanzitutto
Non ho ancora provato la tua soluzione, ma nel frattempo sono arrivato a questo: Codice:
public class ReportUtil
{
private IList<MyJobs> jobs;
private DataSet reportDs;
public IList<MyJobs> GetJobs()
{
using(ISession session = SessionManager.OpenSession())
{
jobs = session.CreateCriteria(typeof(MyJobs))
.List<MyJobs>();
return jobsM
}
}
public DataSet ConvertList(IList<MyJobs> jobs)
{
DataTable dt = new DataTable();
dt.Columns.Add("le varie colonne....");
foreach(MyJobs j in jobs)
{
if( j != null)
{
DataRow r = dt.NewRow();
r["bla"] = j.Campo1;
//etc...
dt.Rows.Add(r);
}
}
reportDs = new DataSet();
reportDs.Tables.Add(dt);
return reportDs;
}
}
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2000
Città: Provincia di Parma
Messaggi: 724
|
Un consiglio, visto che usi NHibernate.
Un OR/M serve per la persistenza del domain model, e la reportistica è uno di quei casi in cui usare il domain model non è conveniente, proprio perché hai bisogno di una vista "appiattita" del tuo grafo. Il report, secondo me, è proprio quel caso in cui una stored procedure fatta come si deve ti risolve il problema: veloce e "tagliata" sul report che devi stampare. Poi per tutto il resto c'è l'O/RM... ;-) Ciao
__________________
My Pc: Case Enermax Chakra - PSU Corsair HX520 - Gigabyte P35-DS3R - Core2 Duo E6550 - 6 Gb RAM Geil PC800 - 2x WD Caviar SE 320Gb (Raid1) - Xfx GeForce 8600Gt - Master Pioneer DVR111D - Samsung SM T220 - S.O. Windows 7 Ultimate x64 SP1 My blog: http://blogs.ugidotnet.org/alby |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Leggo solo ora il tuo messaggio ma è la stessa conclusione alla quale sono giunto ieri sera (pensando come al solito di essere un buono a nulla!) La soluzione che ho adottato è stata semplicemente questa: Ho creato una libreria a parte per i report, utilizzando dei business object per i dati. Questi rappresentano delle tabelle popolate mediante stored procedure. L'unico grattacapo che sto avendo adesso è capire come funziona il linguaggio di scripting presente sul reportviewer, che mi serve per delle formattazioni particolari....
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:48.




















