6 messaggi dal 27 marzo 2008
ciao a tutti,

non sapevo bene come intitolare questo post per via della generalità con cui pongo la domanda.
E' circa 1 settimana che sto cercando di imparare ad utilizzare i database nelle pagine ASPX e ormai sono arrivato ad un buon punto utilizzando SQLDataSource, GridViews (prevalentemente) e DetailsViews.

Per coprire la maggior parte delle casistiche ho implementato un banale DB con due tabelle innoDB collegate tra loro per mezzo di una chiave esterna.

Esempio:
Anagrafica
id_anagrafica (int)
nome (varchar)

Lavoro
id_lavoro (int)
nome (varchar)
cliente (int) -> in relazione con id_anagrafica

Ecco il problema.
Nella pagina ho un GridView associato ad un SQLDataSource a cui ho fatto generare tutto il codice in automatico (SELECT, UPDATE, ecc.. ) riferito alla tabella Lavoro. Nella gridView ho abilitato le azioni delete, edit e sono funzionanti.

Poi ho cercato tramite in ItemTemplate di sostituire alla TextBox "cliente" un DropDownList al quale ho associato un nuovo SQLDataSource in cui eseguo il semplice SELECT sulla tabella Anagrafica.

Ecco il codice che ho inserito nella parte di Edit dell'itemtemplate:

<asp:DropDownList ID="ddlCliente" runat="server" DataSourceID="DSListaNomiAnagrafica" DataValueField="id_anagrafica" DataTextField="nome" />

In questo modo visualizzo i valori corretti ma quando cerco di fare l'update (forse per via dell'uso di un DataSource differente) la query nn va a buon fine, o meglio nn viene dato errore ma il valore inserito nel campo cliente della tabella Lavoro è (credo) NULL... volevo sapere se esiste una tecnica particolare per questo genere di operazioni o se l'unico modo è intercettare le operazioni sulla GridView e gestire tutto da codice. Spero di essere stato chiaro...

Grazie
dovrebbe essere sufficenete:

<asp:DropDownList ID="ddlCliente" runat="server" DataSourceID="DSListaNomiAnagrafica" DataValueField="id_anagrafica" DataTextField="nome" SelectedValue='<%# Bind("id_anagrafica") %>' />

anche se forse sarebbe meglio cambiare il nome del campo cliente della tabella Lavoro in id_anagrafica

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
6 messaggi dal 27 marzo 2008
Ho fatto come mi hai detto (sia per la DropDownList sia per la rinomina del campo) e tutto funziona alla perfezione!

Grazie Mille!
di nulla

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.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.