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 - INSERIMENTO RECORD TRAMITE DETAILS VIEW

Visitatori: 760

In una delle precedenti lezioni abbiamo già visto come utilizzare il server control DetailsView per inserire un record nel database. In particolare abbiamo visto l'inserimento di una News.

In quell'occasione abbiamo agganciato al componente una SqlDataSource collegata alla Tabella News del nostro TestDB, in cui avevamo abilitato le opzioni avanzate di inserimento, modifica e cancellazione che permettono al DataSouce di generare le rispettive query di INSERT, UPDATE E DELETE e i rispettivi SqlComand da agganciare al DataSource.

Con i DataSet l'operazione è molto simile eccetto per il fatto che i suddetti metodi sono già disponibili nel Table Adapter per cui dobbiamo solo configurare il DetailsView in modo corretto.

Aggiungiamo un nuovo controllo wenìb al nostro progetto e denominiamolo "NewsInsertWithDataSet":

ASP.NET

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

A questo punto nella schermata successiva VWD mostra le query impostate per le operazioni di SELECT, INSERT, UPDATE E DELETE. In questo momento ci interssa la query relativa all'operazione di INSERT:

ASP.NET GRIDVIEW

A questo punto cliccate su avanti e quindi su fine. Abilitate l'operazione di inserimento come mostra la figura sotto:

ASP.NET GRIDVIEW

Settate inoltre la proprietà DefaultMode del DetailsView a "Insert":

ASP.NET GRIDVIEW

Eliminate il campo descrizione_categoria in quanto non è un campo fisico della tabella News e non + previsto nei parametri di Insert.

A questo punto salvate il controllo e create una pagina aspx denominata "NewsInsertByDataSet" basata sulla nostra MasterPage e collocate il controllo appena creato nel Content1:

ASP.NET GRIDVIEW

Impostate la pagina come pagina iniziale del progetto e mandatelo in esecuzione per testare l'inserimento:

ASP.NET GRIDVIEW

Provate a inserire dei dati (per adesso impostate 1 in ID_CATEGORIA) come mostra la figura sopra e cliccate su inserisci. A questo punto se apriamo la nostra pagina delle news creata nella scorsa lezione vedremo nell'elenco la nostra news:

ASP.NET GRIDVIEW

Con una semplice modifica al DetailView potete far visualizzare una comboBox per la selezione della Categoria News.

Per fare ciò occorre convertire il campo in Template e modificae l'InsertItemTemplate (come visto nelle precedenti lezioni) eliminado il TextBox e aggiungendo una DropDownList. Fatto ciò è sufficiente configurare l'origine dati della drop down selezionando sempre Oggetto quindi il TableAdapter relativo alle categorie_news e quindi selezionare il campo valore e quello da visualizzare nella drop down.

Occorre inoltre impostare il DataBinding della DropDown selezionando il campo id_categoria.

Apportate queste modifiche mandate nuovamente in esecuzione il progetto e vedrete come sarà adesso possibile selezionare la Categoria News anxichè inserire l'ID:

ASP.NET GRIDVIEW

Nella prossima lezione vedremo come modificare dati tramite DataSet implementando un controllo web per aggiornare una news.

Lezione precedente | Indice degli articoli | Lezione successiva