Datagrid, Datareader e databinding con ASP.NET e ADO.NET

2 pagine in totale: <<Indietro 1 [2]

Il pulsante di submit

<asp:button id="btnOpere" runat="server" Border Back Font-Name="Verdana" Font-Size="10px" Text="Guarda i libri" OnClick="btnOpere_Click" /> 

La cosa che salta all'occhio è subito

OnClick="btnOpere_Click"
. Con ASP.NET possiamo infatti creare delle funzioni che vengono attivate quando si preme il pulsante di un form, cosa assolutamente innovativa rispetto ad ASP 3.0.
In questo modo al click del pulsante verrà richiamata una sub che avrà la funzione di mostrare i dati in base alla selezione fatta dall'utente, utilizzando appunto il databinding. Un'altra cosa veramente utile e innovativa è la possibilità di definire gli stili, creando in maniera automatica i css ed applicando in modo molto rapido gli stili.

Mostriamo i risultati

Arrivati a questo punto dobbiamo raccogliere le opere dell'autore scelto dall'utente e mostrare i risultati nella pagina. Come prima cosa creiamo la sub richiamata dal pulsante nel form.

< script language= " VB " runat= " server " >
Sub Page_Load(sender as Object, e as EventArgs)
  If Not Page.IsPostBack then
 
  'qui abbiamo il codice scritto prima, ora omesso per praticità

  end if
End Sub


'al click nel pulsante del form...
Sub btnOpere_Click(sender as Object, e as EventArgs)

  'connessione al database
  Dim strConn as String = " PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE= " & server.mappath( " autori.mdb " )
  Dim objConn as New OleDbConnection(strConn)

  'apro l`oggetto objConn
  objConn.Open()

  'questo è un passaggio chiave: attraverso la clausola WHERE specifichiamo la condizione
  'che ci permette di selezionare l`ID specifico dell`autore nel database, in maniera da estrappolare
  'solo i dati relativi alla scelta effettuata
  Dim strSQL as String = " SELECT * FROM tblOpere WHERE autoreID = " & lstAutori.SelectedItem.Value & " ORDER BY opera "
 
 
  'inizializzo objCommand...
  Dim objCommand as New OleDbCommand(strSQL, objConn)

  'leggo i dati e chiudo la connessione
  Dim objDataReader as OleDbDataReader
  objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)

    'databind alla datagrid
  dgOpere.DataSource = objDataReader
  dgOpere.DataBind()
 
End Sub

< /script >

Ora creiamo il datagrid per gestire i dati da mostrare a video:

< asp:datagrid id= " dgOpere " runat= " server "
  Font-Name= " Verdana " Font-Size= " Smaller "
  BorderColor= " gray "
  HeaderStyle-BackColor= " #0099CC " HeaderStyle-ForeColor= " White "
  HeaderStyle-Font-Size= " Small " HeaderStyle-Font-Bold= " True "
  AutoGenerateColumns= " False " >

  < Columns >

  < asp:BoundColumn HeaderText= " Titolo dell'opera "
      ItemStyle-HorizontalAlign= " Center "
      HeaderStyle-HorizontalAlign= " Center "
      DataField= " Opera " / >
  < asp:BoundColumn HeaderText= " Descrizione "
      HeaderStyle-HorizontalAlign= " Center "
      DataField= " Descrizione " / >
  < /Columns >
< /asp:datagrid >

Immagine

Innanzitutto diamo un id specifico alla datagrid, cosa che serve per accedere all'oggetto dal codice e per effettuare anche il databind.

Successivamente definiamo i vari stili. Da notare che l'output della datagrid sarà una tabella HTML!
L'attributo AutoGenerateColumns è impostato a false, infatti saremo noi a specificare quali colonne saranno visualizzate, mediante il controllo .
Nel caso in cui questo attributo fosse impostato su true, lo script mostrerebbe il contenuto di tutto il database.

Attraverso l'attributo HeaderText specificheremo una intestazione per la colonna, mentre il valore di DataField sarà il nome della colonna che vogliamo sia visualizzata.

Se in seguito dovremo gestire altri autori, cosa molto probabile, non dovremo ritoccare nulla nella pagina aspx, perchè basterà aggiungere nella tabella tblAutori solo il nome del nuovo autore, visto che autoreID si aggiornerà in automatico essendo di tipo contatore, e inserire i dati delle varie opere nella tabella tblOpere. Per far questo potremmo creare una semplice pagina e gestire tutto via web.

Conclusioni

Questa piccola applicazione mostra solo pochi aspetti di ASP.NET, ma fa intuire le potenzialità veramente eccezzionali che si nascondono dietro a questa nuova tecnologia, improntata completamente alla programmazione ad oggetti.

2 pagine in totale: <<Indietro 1 [2]

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC