ASPITALIA.IT

Sito dedicato alla tecnologia web di Microsoft. Da ASP a ASP.NET trovate articoli e tutorial interessanti adatti anche a chi si av...

Leggi la Descrizione
HTML.IT

Uno dei migliori siti di programmazione presenti sul Web. Se volete iniziare a programmare in qualsiasi linguaggio, html.it &egrav...

Leggi la Descrizione
YoungPortal.it

Portale ricco di risorse per sviluppatori Delphi, asp.net, java. Da poco attiva la nuova sezione SUBSONIC che cerca di andare inco...

Leggi la Descrizione
ASP.NET - DATASET - AGGIORNAMENTO RECORD TRAMITE DETAILS VIEW

Visitatori: 564

Nella precedente lezione abbiamo visto come inserire un record tramite DataSet servendoci di un DetailsView.

In questa lezione vedremo come aggiornare un record.

Come abbiamo già detto i metodi e le istruzioni di INSERT, UPDATE E DELETE sono già disponibili nel Table Adapter per cui dobbiamo solo configurare il DetailsView in modo corretto.

Tuttavia rispetto all'inserimento la modifica richiede una variazione al nostro DataSet. Infatti per poter modificare una News il TableAdapter deve avere un metodo che restituisce una News dato il suo id_news.

Per fare questo dobbiamo aggiungere una query al TableAdapter delle News:

ASP.NET GRIDVIEW

Nella prima schermata scegliamo di usare un'istruzione SQL (potevamo anche creare una StoreProcedure ma questo lo vedremo più avanti).

ASP.NET GRIDVIEW

Scegliamo come tipo di comando SELECT che restituisce righe:

ASP.NET GRIDVIEW

Specifichiamo quindi il nostro comando SQL aggiungendo il parametro id_news:

ASP.NET GRIDVIEW

Clicchiamo su avanti e denominiamo i due metodi Fill (che riempe una data table) e Get (che restituisce una data table) come in figura:

ASP.NET GRIDVIEW

Cliccate quindi su avanti per completare la procedura:

ASP.NET GRIDVIEW

Possiamo vedere che il metodo è stato aggiunto al TableAdapter delle News. Salvate quindi le modifiche al DataSet:

ASP.NET GRIDVIEW

A questo punto siamo pronti per creare il nostro DetailsView che seleziona la News che vogliamo modificare. Aggiungiamo un nuovo controllo web al nostro progetto e denominiamolo "NewsEditWithDataSet":

Trascinate una label e un DetailsView e poi passate alla configurazione del DataSource:

ASP.NET GRIDVIEW

Scegliamo "Oggetto" come tipo di DataSource in quanto ci consente di gestire il DataSet:

ASP.NET GRIDVIEW

Al punto successivo è necessario selezionare il TableAdapter di interesse. Selezioniamo quello delle News:

ASP.NET GRIDVIEW

Nella parte relativa al comando SELECT adesso avremo 2 comandi:

ASP.NET GRIDVIEW

Selezioniamo GetDataByIdNews e nella schermata successiva scegliamo come origine per il parametro la QueryString come mostrato sotto:

ASP.NET GRIDVIEW

Cliccate su fine. A questo punto il nostro DetailsView avrà la seguente struttura:

ASP.NET GRIDVIEW

Possiamo sicuramente migliorarla. Prima di tutto modifichiamo le colonne rendendo invisibile il campo ID_NEWS e convertite il campo ID_CATEGORIA in un template field. A questo punto modificate il campo modello come visto in questa lezione DETAILSVIEW CON DROPDOWN COLUMN con la differenza che qui abbiamo utilizzato un SqlDataSource mentre voi dovete utilizzare ancora un ObjectDataSource e quindi il TableAdapter delle CATEGORIE_NEWS. Una volta impostati i campi da visualizzare e da cui prendere il valore come sotto:

ASP.NET GRIDVIEW

ASP.NET GRIDVIEW

Quindi modifcate il Databinding della dropdown:

ASP.NET GRIDVIEW

A questo punto terminate le modifche al DetailsView e attivate la modifica::

ASP.NET GRIDVIEW

Quindi impostate il DefaultMode del DetailsView a "Edit":

ASP.NET GRIDVIEW

A questo punto il nostro controllo è pronto per essere inserito in una pagina aspx che riceve dalla query string il parametro id_news e ci sonsentirà di modiifcare la News.

ASP.NET GRIDVIEW

Per esempio potete aggiungere una colonna (di tipo template) alla GridView delle News con un link che reindirizza alla pagina di modifica come abbiamo visto in questa lezione: DETAILSVIEW EDIT PART 2.

Nelle prossime lezioni vedremo altre possibili operazioni con i DataSet.

Lezione precedente | Indice degli articoli | Lezione successiva