<%@ Page Language="vb" %>
<%@ import Namespace="System.Data.OleDb" %>
<%@ import Namespace="System.Data" %>
<script runat="server">
Dim ds As DataSet
Dim dv As DataView
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Session("datagrid") Is Nothing Then
'Importa la connessione
Dim myConnection As New
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data
Source=D:\Documenti\HTML.it\Articoli\ASP.net\DataGrid\DataGrid.mdb")
'Apri la connessione
Dim myCommand As New OleDbDataAdapter("select
* from Utenti", myConnection)
'Riempi l'oggetto DataSet
ds = New DataSet()
myCommand.Fill(ds, "Utenti")
Session("datagrid") = ds
Else
ds = Session("datagrid")
End If
'Crea DataView
dv = New DataView(ds.Tables("Utenti"))
dv.Sort = "ID"
DataGrid1.DataSource = dv
If Not Page.IsPostBack Then
DataBind()
End If
End Sub
Private Sub DataGrid1_Edit(ByVal obj As Object, ByVal e As DataGridCommandEventArgs)
DataGrid1.EditItemIndex = e.Item.ItemIndex
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_Update(ByVal obj As Object, ByVal e As DataGridCommandEventArgs)
'Leggi dati
Dim txtNome As TextBox = e.Item.Cells(1).Controls(0)
Dim txtCognome As TextBox = e.Item.Cells(2).Controls(0)
Dim txtIndirizzo As TextBox = e.Item.Cells(3).Controls(0)
Dim txtCitta As TextBox = e.Item.Cells(4).Controls(0)
Dim txtCAP As TextBox = e.Item.Cells(5).Controls(0)
Dim idUtente As String = e.Item.Cells(0).Text
Dim Nome As String = txtNome.Text
Dim Cognome As String = txtCognome.Text
Dim Indirizzo As String = txtIndirizzo.Text
Dim Citta As String = txtCitta.Text
Dim CAP As String = txtCAP.Text
Dim hlkSito As HyperLink = e.Item.Cells(6).Controls(0)
Dim Sito As String = hlkSito.NavigateUrl
'elimina riga
dv.RowFilter = "id=" + idUtente
If dv.Count > 0 Then
dv.Delete(0)
End If
dv.RowFilter = ""
'inserisci nuova riga
Dim dr As DataRow = ds.Tables("Utenti").NewRow()
dr(0) = idUtente
dr(1) = Nome
dr(2) = Cognome
dr(3) = Indirizzo
dr(4) = Citta
dr(5) = CAP
dr(6) = Sito
ds.Tables("Utenti").Rows.Add(dr)
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
'Aggiorna il DB
Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=D:\Documenti\HTML.it\Articoli\ASP.net\DataGrid\DataGrid.mdb")
Dim myCommand As New OleDbCommand("UPDATE Utenti SET Nome=?,
Cognome=?,
Indirizzo=?, Citta=?, CAP=? WHERE
id=?", myConnection)
myCommand.Parameters.Add(New OleDbParameter("@1", Nome))
myCommand.Parameters.Add(New OleDbParameter("@2", Cognome))
myCommand.Parameters.Add(New OleDbParameter("@3", Indirizzo))
myCommand.Parameters.Add(New OleDbParameter("@4", Citta))
myCommand.Parameters.Add(New OleDbParameter("@5", CAP))
myCommand.Parameters.Add(New OleDbParameter("@6", idUtente))
myConnection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
End Sub
Private Sub DataGrid1_Cancel(ByVal obj As Object, ByVal e As DataGridCommandEventArgs)
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_Delete(ByVal obj As Object, ByVal e As DataGridCommandEventArgs)
If e.CommandSource.CommandName = "delete" Then
Dim idUtente As String = e.Item.Cells(0).Text
'elimina riga
dv.RowFilter = "id=" + idUtente
If dv.Count > 0 Then
dv.Delete(0)
End If
dv.RowFilter = ""
DataGrid1.EditItemIndex = -1
DataGrid1.DataBind()
'Aggiorna il DB
Dim myConnection As New
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data
Source=D:\Documenti\HTML.it\Articoli\ASP.net\DataGrid\DataGrid.mdb")
Dim myCommand As New OleDbCommand("DELETE
FROM Utenti WHERE id=" +
idUtente.ToString, myConnection)
myConnection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
End If
End Sub
</script>
<html>
<head><title>DataGrid</title></head>
<body>
<form id="Form1" method="post" runat="server">
<asp:datagrid id="DataGrid1"
runat="server"
HeaderStyle-BackColor="#ccffff"
BorderColor="Black"
CellPadding="4"
Width="550px"
Font-Names="Verdana"
Font-Size="8pt"
OnItemCommand="DataGrid1_Delete"
OnUpdateCommand="DataGrid1_Update"
OnCancelCommand="DataGrid1_Cancel"
onEditCommand="DataGrid1_Edit"
AutoGenerateColumns="false">
<Columns>
<asp:BoundColumn
DataField="ID" HeaderText="Codice"
readonly="true"
/>
<asp:BoundColumn
DataField="Nome" HeaderText="Nome" />
<asp:BoundColumn
DataField="Cognome" HeaderText="Cognome" />
<asp:BoundColumn
DataField="Indirizzo" HeaderText="Indirizzo" />
<asp:BoundColumn
DataField="Citta" HeaderText="Cittę" />
<asp:BoundColumn
DataField="CAP" HeaderText="CAP" />
<asp:HyperLinkColumn
Text="Sito Web" HeaderText="Sito Web"
DataNavigateUrlField="SitoWeb"
/>
<asp:EditCommandColumn
ButtonType="LinkButton"
HeaderText="Modifica"
EditText="Modifica"
UpdateText="Aggiorna"
CancelText="Annulla" />
<asp:ButtonColumn
Text="Elimina" ButtonType="PushButton"
HeaderText="Elimina"
CommandName="delete" />
</Columns>
</asp:datagrid>
</form>
</body>
</html>