Collegare un foglio di lavoro a un set di dati utilizzando il designer dei fogli di lavoro di GridWeb
Collegamento di un foglio di lavoro con il database utilizzando il designer dei fogli di lavoro
**Passo 1: Creare un Database di Esempio**
- Per prima cosa, creiamo il database di esempio che verrà utilizzato in questo articolo. Utilizziamo Microsoft Access per creare un database che contiene una tabella chiamata Prodotti. Il suo schema è mostrato di seguito. Informazioni di progettazione della tabella Prodotti
- Vengono aggiunti alcuni record di esempio alla tabella Prodotti. Record nella tabella Prodotti
Passo 2: Progettazione dell’Applicazione di Esempio
Viene creata e progettata un’applicazione web ASP.NET in Visual Studio.NET come mostrato di seguito. Applicazione di esempio progettata
Passo 3: Connettersi al Database Usando Server Explorer
È ora di connettersi al database. Possiamo farlo facilmente utilizzando il Server Explorer in Visual Studio.NET.
- Seleziona Connessione Dati in Server Explorer e fai clic con il pulsante destro del mouse.
- Seleziona Aggiungi Connessione dal menu. Selezione dell’opzione Aggiungi Connessione
Viene visualizzata la finestra di dialogo Proprietà del collegamento dati. La finestra di dialogo Proprietà del collegamento dati
Utilizzando questa finestra di dialogo, è possibile connettersi a qualsiasi database. Per impostazione predefinita, consente di connettersi a un database SQL Server. Per questo esempio, è necessario connettersi a un database Microsoft Access.
- Fare clic sulla scheda Provider.
- Selezionare Microsoft Jet 4.0 OLE DB Provider dall’elenco Provider OLE DB.
- Fare clic su Avanti. Fare clic su Avanti dopo aver selezionato un provider OLE DB
La pagina della scheda Connessione è aperta.
- Seleziona il file del database Microsoft Access (nel nostro caso, db.mdb) e fai clic su OK. Cliccando sul pulsante OK dopo aver selezionato il file del database
Passo 4: Creazione di oggetti di connessione al database in modo grafico
- Sfoglia le tabelle nel database utilizzando l'Esplora server. C’è solo una tabella, Products.
- Trascina e rilascia la tabella Products dall'Esplora server al Modulo Web. Trascinando la tabella Products dall’Esplora server e rilasciandola nel modulo Web
Potrebbe comparire una finestra di dialogo. Finestra di dialogo per confermare l’inclusione della password del database nella stringa di connessione
Decidi se vuoi includere una password del database nella stringa di connessione o no. Per questo esempio, abbiamo selezionato Non includere la password. Sono stati creati e aggiunti due oggetti di connessione al database (oleDbConnection1 e oleDbDataAdapter1). Oggetti di connessione al database (oleDbConnection1 e oleDbDataAdapter1) creati e visualizzati
Passo 5: Generazione DataSet
Finora abbiamo creato gli oggetti di connessione al database ma abbiamo ancora bisogno di un posto dove memorizzare i dati dopo la connessione al database. Un oggetto DataSet può memorizzare i dati in modo preciso e possiamo anche generarli facilmente usando l’IDE di VS.NET.
- Seleziona oleDbDataAdaper1 e fai clic destro.
- Seleziona l’opzione Genera DataSet dal menu. Selezionare l’opzione Genera DataSet
Viene visualizzata la finestra di dialogo Genera DataSet. Qui è possibile selezionare un nome per il nuovo oggetto DataSet da creare e quali tabelle aggiungervi.
- Seleziona l’opzione Aggiungi questo dataset al designer.
- Fai clic su OK. Cliccando il pulsante OK per generare il DataSet
Un oggetto dataSet11 viene aggiunto al designer. DataSet generato e aggiunto al designer
Passo 6: Utilizzo di Worksheets Designer
Ora è arrivato il momento di aprire il segreto.
-
Seleziona il controllo GridWeb e fai clic con il tasto destro.
-
Seleziona l’opzione Worksheets Designer dal menu.
Selezione dell’opzione Worksheets Designer
Viene visualizzato l’Editor della Raccolta dei Fogli di Lavoro (detto anche il Worksheets Designer). Finestra di dialogo dell’Editor della Raccolta dei Fogli di Lavoro
La finestra di dialogo contiene diverse proprietà che possono essere configurate per collegare Sheet1 a qualsiasi tabella nel database.
- Seleziona la proprietà DataSource. L’oggetto dataSet11 generato nel passaggio precedente è elencato nel menu.
- Seleziona dataSet11.
- Fai clic sulla proprietà DataMember. Il Worksheets Designer mostra automaticamente un elenco di tabelle in dataSet11. C’è solo una tabella, Products.
- Seleziona la tabella Products. Impostazione delle proprietà DataSource e DataMember
- Verificare la proprietà BindColumns. Clicca sulla proprietà BindColumns
Cliccando sulla proprietà BindColumns si apre il BindColumn Collection Editor. Il BindColumn Collection Editor
Nel BindColumn Collection Editor, tutte le colonne della tabella Products vengono automaticamente aggiunte alla collezione BindColumns.
- Selezionare una qualsiasi colonna e personalizzarne le proprietà. Ad esempio, è possibile modificare la didascalia di ciascuna colonna. Modifica della didascalia della colonna ProductID
- Dopo aver apportato le modifiche, fare clic su OK.
- Chiudere tutte le finestre di dialogo facendo clic su OK. Infine, ti verrà restituita la pagina WebForm1.aspx. Ritorno alla pagina WebForm1.aspx dopo aver usato il Worksheets Designer
Sopra viene mostrato il nome della colonna della tabella Products. La larghezza delle colonne è ridotta, quindi i nomi completi di alcune colonne non sono completamente visibili.
Passo 7: Aggiunta del codice all’event handler Page_Load
Abbiamo utilizzato il Worksheets Designer e ora dobbiamo solo aggiungere il codice all’event handler Page_Load per riempire l’oggetto dataSet11 con i dati dal database (utilizzando oleDbDataAdapter1) e collegare il controllo GridWeb a dataSet11 chiamando il suo metodo DataBind.
- Aggiungere il codice:
C#
//Implementing Page_Load event handler
private void Page_Load(object sender, System.EventArgs e)
{
//Checking if there is not any PostBack
if (!IsPostBack)
{
try
{
//Filling DataSet with data
oleDbDataAdapter1.Fill(dataSet11);
//Binding GridWeb with DataSet
GridWeb1.DataBind();
}
finally
{
//Finally, closing database connection
oleDbConnection1.Close();
}
}
}
VB.NET
'Implementing Page_Load event handler
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Checking if there is not any PostBack
If Not IsPostBack Then
Try
'Filling DataSet with data
oleDbDataAdapter1.Fill(dataSet11)
'Binding GridWeb with DataSet
GridWeb1.DataBind()
Finally
'Finally, closing database connection
oleDbConnection1.Close()
End Try
End If
End Sub
- Verificare il codice aggiunto all’event handler Page_Load. Codice aggiunto all’event handler Page_Load
Passaggio 8: Esecuzione dell’applicazione
Compilare ed eseguire l’applicazione: premere Ctrl+F5 o fare clic su Start. Esecuzione dell’applicazione
Dopo la compilazione, la pagina WebForm1.aspx viene aperta in una finestra del browser con tutti i dati caricati dal database. Dati caricati nel controllo GridWeb dal database
Lavorare con il controllo GridWeb
Quando i dati vengono caricati nel controllo GridWeb, fornisce agli utenti il controllo sui dati. Il GridWeb offre un certo numero di diverse funzionalità di manipolazione dei dati.
Convalida Dati
Aspose.Cells.GridWeb crea automaticamente regole di convalida appropriate per tutte le colonne associate in base ai tipi di dati definiti nel database. Vedere il tipo di convalida di una cella passando il cursore sopra di essa. Verifica del tipo di convalida di una cella
Here, the selected cell contains the
Eliminazione delle righe
Per eliminare una riga, selezionare una riga (o qualsiasi cella nella riga), fare clic con il pulsante destro del mouse e selezionare Elimina riga. Selezione dell’opzione Elimina riga dal menu
La riga verrebbe eliminata istantaneamente. Dati della griglia (dopo l’eliminazione di una riga)
Modifica delle righe
Modificare i dati nelle celle o nelle righe e quindi fare clic su Salva o Invia per salvare le modifiche.
Aggiunta di righe
- Per aggiungere una riga, fare clic con il pulsante destro del mouse su una cella e selezionare Aggiungi riga. Selezione dell’opzione Aggiungi riga dal menu
Viene aggiunta una nuova riga al foglio alla fine delle altre righe. Nuova riga aggiunta a Grid
At the left of the new row is an asterisk , indicating that the row is new.
- Aggiungi valori alla nuova riga.
- Fare clic su Salva o Invia per confermare la modifica. Salvataggio delle modifiche ai dati cliccando il pulsante Salva
Impostazione del formato numero
Al momento, i prezzi nella colonna Prezzo Prodotto sono mostrati come valori numerici. È possibile farli apparire come valuta.
- Torna a Visual Studio.NET.
- Apri l’Editor della Raccolta BindColumn. La proprietà NumberType della colonna Prezzo Prodotto è impostata su Generale. La proprietà NumberType impostata su Generale
- Fare clic su DropDownList e selezionare Valuta4 dalla lista. La proprietà NumberType modificata in Valuta4
- Eseguire nuovamente l’applicazione. I valori nella colonna Prezzo Prodotto sono ora in valuta. Prezzi dei prodotti in formato Numero di valuta
Modifica dei dati
Finora l’applicazione consente solo ai suoi utenti di visualizzare i dati della tabella. Gli utenti possono modificare i dati nel controllo GridWeb ma, quando si chiude il browser e si apre il database, nulla è cambiato. Le modifiche apportate non vengono salvate nel database.
Nell’esempio seguente viene aggiunto del codice all’applicazione in modo che GridWeb possa salvare le modifiche nel database.
- Apri il riquadro delle Proprietà e seleziona l’evento SaveCommand del controllo GridWeb dall’elenco. Selezione dell’evento SaveCommand di GridWeb
- Fare doppio clic sull’evento SaveCommand e VS.NET crea l’handler dell’evento GridWeb1_SaveCommand.
- Aggiungi del codice a questo gestore dell’evento che aggiornerà il database con eventuali dati modificati nel DataSet vincolato al foglio di lavoro utilizzando oleDbDataAdapter1.
C#
//Implementing the event handler for SaveCommand event
private void GridWeb1_SaveCommand(object sender, System.EventArgs e)
{
try
{
//Getting the modified data of worksheet as a DataSet
DataSet dataset = (DataSet)GridWeb1.WorkSheets[0].DataSource;
//Updating database according to modified DataSet
oleDbDataAdapter1.Update(dataset);
}
finally
{
//Closing database connection
oleDbConnection1.Close();
}
}
VB.NET
'Implementing the event handler for SaveCommand event
Private Sub GridWeb1_SaveCommand(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridWeb1.SaveCommand
Try
'Getting the modified data of worksheet as a DataSet
Dim dataset As DataSet = CType(GridWeb1.WorkSheets(0).DataSource, DataSet)
'Updating database according to modified DataSet
oleDbDataAdapter1.Update(dataset)
Finally
'Closing database connection
oleDbConnection1.Close()
End Try
End Sub
È inoltre possibile verificare il codice aggiunto al gestore dell’evento GridWeb1_SaveCommand Codice aggiunto al gestore dell’evento GridWeb1_SaveCommand
Salvare le modifiche al database utilizzando il pulsante Salva ora le salva definitivamente.