Domanda

Qualcuno è stato in grado di utilizzare una raccolta generata da SubSonic come un'origine dati "oggetto business" " con report Microsoft (rdlc)? Ho generato il codice della classe SubSonic ma per qualche motivo la finestra dell'origine dati del report non vede la classe come una potenziale origine dati della raccolta di oggetti.

C'è qualcosa che devo fare per farlo funzionare?

Grazie in anticipo ... vsdotnetguy

È stato utile?

Soluzione 3

Grazie Chris e Adam,

Ecco la risposta che ho trovato.

Nel mio caso, volevo impostare dinamicamente le origini dati principali e di sottoreport in fase di esecuzione usando le raccolte di oggetti SubSonic. Tuttavia, volevo anche progettare il layout del report usando il trascinamento della selezione delle colonne dell'origine dati.

Ma non sono stato in grado di progettare il rapporto usando il drag & amp; drop perché nessuna delle mie raccolte SubSonic veniva visualizzata nelle origini dati del sito Web.

Tuttavia, più tardi, mentre stavo eseguendo un bind di controllo utilizzando il controllo ObjectDataSource, ho notato che ADESSO le mie raccolte SubSonic venivano visualizzate nella finestra Origini dati sito Web e ho potuto trascinare e rilasciare il layout del rapporto.

Pertanto, se si stanno impostando dinamicamente le origini dati del report in fase di esecuzione e NON si utilizza il controllo ObjectDataSource già nel progetto, è NECESSARIO aggiungere un controllo fittizio ObjectDataSource a una delle pagine aspx. In questo modo le origini dati dell'oggetto business verranno visualizzate nella finestra di progettazione report.

Altri suggerimenti

Ho precedentemente caricato report di Reporting Service da oggetti business (caricati tramite NHibernate - che non è esatto ma abbastanza vicino per amor di discussione).

Coppia di punti chiave: 1. restituisci i tuoi oggetti in Elenco, anche se stai restituendo un solo oggetto. 2. Volete oggetti business FLAT. Potrebbe essere necessario passare attraverso una trasformazione DTO per ottenerlo. Per piatto, intendo la proprietà più complessa che puoi avere in un oggetto business è una stringa e un numero (int, decimale, doppio). Se ti aspetti di ottenere un valore come questo: myObject.Customer.Name, dimenticalo. Creare una proprietà CustomerName. 3. Se sono necessari dati da più posizioni, provare a suddividere i report in sottoreport. Ti disconnetti dalla chiave dell'origine dati per capire quali dati restituire al rapporto.

Aggiungerò altro come ricordo, sono passati alcuni mesi da quando l'ho fatto.

Sì, l'ho fatto, dovresti solo assicurarti che il progetto contenente i tuoi rapporti faccia riferimento al tuo progetto SubSonic (ovviamente :).

A volte ho anche scoperto che Visual Studio può essere un po 'ostacolato e richiedere un riavvio prima di ripopolare la finestra dell'origine dati con oggetti generati da SubSonic.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top