Visitatori: 1026
In questa lezione vedremo come aggiungere alla nostra GridView delle News una colonna basata su un campo calcolato. In particolare andremo a modificare la query di selezione del Data Source per aggiungere la descrizione della categoria (ricordiamo che nella tabella delle News abbiamo l'ID_CATEGORIA e non la descrizone).
Andremo quindi ad effettuare una query di Join Tra la Tabella News e la Tabella Categories.
Dal menu contestuale della GridView clicchiamo su "Configura origine dati..".
Cliccate su "avanti" nella prima schermata in cui VWD vi chiede di selezionare la ConnectionString (lasciate selezionata la nostra TestDBConnectionString). Nella schermata successiva selezionate la prima opzione "Specificare una stored procedure o un'istruzione SQL."
Nella schermata successiva vi verrà chiesto di inserire la query. In automatico verrà proposto il codice SQL corrispondente alla nostra precedente selezione. Modificate l'istruzione come segue:
SELECT [ID_NEWS], [TITOLO],[NEWS]. [DESCRIZIONE], [DATA], [ATTIVA],
[CATEGORIES].[DESCRIZIONE] AS DESCRIZIONE_CATEGORIA
FROM [NEWS] INNER JOIN [CATEGORIES]
ON [NEWS].[ID_CATEGORIA] = [CATEGORIES].[ID_CATEGORIA]
WHERE ([NEWS].[ID_CATEGORIA] = @ID_CATEGORIA)
Abbiamo effettuato una Join tra la Tabella News e la Tabella Categories e abbiamo prelevato da quest'ultima la descrizione della Categoria. Per i campi ambigui, ovvero che hanno lo stesso nome nelle due tabelle abbiamo aggiunto il prefisso del nome della tabella ([NomeTabella].[NomeCampo]) per evitare errori.
Cliccate su avanti e quindi su fine per terminare il processo di configurazione del DataSource..
Per visualizzare la colonna appena aggiunta dal menu contestuale della GridView clicchiamo su "Modifica Colonne.."

Verrà visualizzata la seguente schermata:

Nei "campi Disponibili" è stato aggiunto il campo appena creato. Clicchiamo su aggiungi per portarlo nei "campi selezionati" e con le freccette portiamolo subito dopo il campo ID_NEWS (ricordiamo che questo campo deve avere la proprietà "visibile" impostata a false poichè usualmente non viene mostrato il campo chiave di una tabella..). Una volta aggiunto il campo settiamo la sua proprietà "Header Text" a "CATEGORIA" come mostra la figura seguente:

A questo punto cliccate su "ok" ed eseguite il Progetto:

Come potete vedere la categoria selezionata verrà mostrata anche nella GridView.
Nel prossimo articolo vedremo come creare una pagina aspx per l'inserimento di una nuova News utilizzando il componente DetailsView.
Lezione precedente | Indice degli articoli | Lezione Successiva

|