Visitatori: 1141
Nella scorsa lezione abbiamo implementato una pagina aspx per l'inserimento di una nuova News utilizzando il componente DetailsView. Tuttavia abbiamo visto che l'inserimento di una news comportava l'inserimento manuale dell'ID_CATEGORIA.
In questa lezione vedremo come aggiungere una DropDownList per la selezione della Categoria.
Prima di tutto dobbiamo trasformare il campo ID_CATEGORIA del DetailsView in un "TemplateField". Per fare ciò dal menu contestuale del DetailsView clicchiamo su Modifica campi..:
Dalla schermata successiva selezionare il campo ID_CATEGORIA tra i campi selezionati e cliccare sul link presente sulla destra "Converti in Template Field":
Questa operazione ha l'effetto di creare dei "Template" per il nostro campo che possiamo modificare come più ci piace. VWD crea un template per ogni operazione possibile (ItemTemplate, InsertItemTemplate, EditItemTemplate etc..). Questo vuol dire che se vogliamo che quando il DetailsView si trova nello stato di insert non venga visualizzata una casella di testo (textBox) ma una DropDownList dobbiamo modificare l'InsertItemTemplate del campo ID_CATEGORIA. Per fare ciò dal menu contestuale del DetailsView clicchiamo su "Modifica Modelli" (ultima voce in fondo). Per modelli si intende i campi che sono stati convertiti in Template:
Verrà visualizzato inizialmente l'ItemTemplate del campo ID_CATEGORIA. Selezionate l'InsertItemTemplate:

Come potete vedere abbiamo una casella di testo come default; cancellatela e trascinate al suo posto una DropDownList:

A questo punto dobbiamo configurare l'origine dati della DropDownList. Ormai saprete come fare quindi dal menu contestuale di quest'ultima cliccate su "scegli origine dati". Quindi selezionate "Database" come origine e nella schermata successiva la nostra TestDBConnectionString. A questo punto selezionate la Tabella da cui devono essere prelevati i dati da visualizzare nella DropDownList:


Cliccate su ok e nella schermata successiva effettuate la seguente selezione per il campo da visualizzare (DESCRIZIONE) e il campo da impostare nella Tabella News come valore (ID_CATEGORIA):

Ricordate di rinominare l'SqlDataSource se nella pagina esiste già un SqlDataSource1. Chiamate quest'ultima SqlDataSource2 altrimenti andranno in conflitto e avrete un errore quando eseguirete il progetto. Terminate quindi le modiifche cliccando su "Termina modifica modello" dal menu contestuale del DetailsView:

A questo punto mandate in esecuzione il progetto:

Potrete vedere che adesso è possibile selezionare la Categoria tra quelle già inserite nel Database.
Nel prossimo articolo vedremo come creare una pagina per modificare una News esistente. Ci serviremo ancora del componente DetailsView.
Lezione precedente | Indice degli articoli | Lezione successiva

|