45 messaggi dal 08 maggio 2001
Sto cercando di migrare a LINQ nel modo di accedere alle fonti dati. Mi
trovi dinanzi ad un problema pratico.
Prima di LINQ creavo un DataSet tipizzado, lo impostavo come sorgente di
una DataGridView e questa formattava automaticamente le colonne in base alla struttura del DataSet.
Adesso non riesco a fare la stessa cosa con LINQ. L'unica soluzione che ho
trovato è stata di formattare la DataGridView manualmente, ma è molto
scomodo quando le colonne sono molte.

Grazie
Cosa intendi dire? In realtà dovrebbe farlo in base al tipo della proprietà, utilizzando come intestazione delle colonne il nome di questa. Non è ciò che ottieni?

m.
45 messaggi dal 08 maggio 2001
cradle ha scritto:
Cosa intendi dire? In realtà dovrebbe farlo in base al tipo della proprietà, utilizzando come intestazione delle colonne il nome di questa. Non è ciò che ottieni?

m.


nel senso che faccio:

var query= from p in ............. select p;
this.DataGridView.DataSource=query;

ovvio che la datagrid impostata di default si prende le intestazioni delle colonne in base alla query LINQ, ma in pratica bisogna sempre modificare le intestazioni perchè i nomi dei campi del DB non sono il massimo.
Prima trascinavo l'oggetto Dataset nel WinForm, lo tipizzavo, lo associavo al DataSource della DataGridView e poi sempre a livello di designer modificavo i nomi delle colonne.
In pochi minuti facevo tutto.
Adesso mi ritrovo a farlo solo a livello codice e non lo trovo molto comodo.
Adesso trascini le tabelle sul designer LINQ, ti vengono create le entity e modifichi i nomi delle proprietà, più o meno è lo stesso (anche se ci sono maggiori constraint di forma su questi nomi).

Esistono comunque altri modi per specificare automaticamente i nomi delle colonne, ad esempio creare collection tipizzate, quindi qualcosa come
public class CustomerCollection: BindingList<Customer>, ITypedList

e implementare ITypedList, che espone un metodo per restituire le descrizioni delle proprietà, come trovi spiegato in questo articolo
http://msdn.microsoft.com/en-us/magazine/cc163745.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.