Binden des Arbeitsblatts an ein DataSet mithilfe des GridWebs-Arbeitsblatt-Designers
Binden eines Arbeitsblatts mit einer Datenbank mithilfe des Arbeitsblatt-Designers
**Schritt 1: Erstellen einer Beispieldatenbank**
- Zuerst erstellen wir die Beispieldatenbank, die in diesem Artikel verwendet wird. Wir verwenden Microsoft Access, um eine Datenbank zu erstellen, die eine Tabelle namens Products enthält. Das Schema ist unten dargestellt. Designinformationen der Produkttabelle
- Der Tabelle Products werden einige Dummy-Datensätze hinzugefügt. Datensätze in der Tabelle Produkte
Schritt 2: Beispielanwendung entwerfen
Eine ASP.NET-Webanwendung wird wie unten gezeigt in Visual Studio.NET erstellt und entworfen. Entworfene Beispielanwendung
Schritt 3: Herstellen einer Verbindung mit der Datenbank mithilfe des Server-Explorers
Es ist Zeit, sich mit der Datenbank zu verbinden. Wir können dies ganz einfach mit dem Server Explorer in Visual Studio.NET tun.
- WählenDatenverbindung inServer-Explorer und Rechtsklick.
- WählenVerbindung hinzufügen aus dem Menü. Auswahl der Option Verbindung hinzufügen
Das Dialogfeld Datenverknüpfungseigenschaften wird angezeigt. Das Dialogfeld Datenverknüpfungseigenschaften
Mit diesem Dialog können Sie sich mit jeder Datenbank verbinden. Standardmäßig können Sie sich mit einer SQL Server-Datenbank verbinden. Für dieses Beispiel müssen wir eine Verbindung mit einer Microsoft Access-Datenbank herstellen.
- Drücke denAnbieter Tab.
- WählenMicrosoft Jet 4.0 OLE DB-Anbieter von demOLE DB-Anbieter aufführen.
- KlickenNächste. Klicken Sie auf Weiter, nachdem Sie einen OLE DB-Anbieter ausgewählt haben
DasVerbindung Registerkarte wird geöffnet.
- Wählen Sie die Access-Datenbankdatei Microsoft (in unserem Fall db.mdb) und klicken Sie aufOK. Klicken Sie auf die Schaltfläche OK, nachdem Sie die Datenbankdatei ausgewählt haben
Schritt 4: Datenbankverbindungsobjekte grafisch erstellen
- Durchsuchen Sie die Tabellen in der Datenbank mit derServer-Explorer. Es gibt nur eine Tabelle, Produkte.
- Ziehen Sie die Tabelle Produkte per Drag-and-Drop aus derServer-Explorer zumWeb-Formular. Ziehen Sie die Produkttabelle aus dem Server-Explorer und legen Sie sie im Webformular ab
Möglicherweise wird ein Dialogfeld angezeigt. Dialog zum Bestätigen der Einbeziehung des Datenbankkennworts in die Verbindungszeichenfolge
Entscheiden Sie, ob Sie ein Datenbankkennwort in die Verbindungszeichenfolge aufnehmen möchten oder nicht. Für dieses Beispiel haben wir ausgewähltGeben Sie kein Passwort ein. Zwei Datenbankverbindungsobjekte (oleDbConnection1 und oleDbDataAdapter1) wurden erstellt und hinzugefügt. Datenbankverbindungsobjekte (oleDbConnection1 & oleDbDataAdapter1) erstellt und angezeigt
Schritt 5: DataSet generieren
Bisher haben wir Datenbankverbindungsobjekte erstellt, müssen aber nach der Verbindung mit der Datenbank noch Daten speichern. Ein DataSet-Objekt kann Daten genau speichern und wir können es auch einfach mit der VS.NET-IDE generieren.
- WählenoleDbDataAdaper1 und Rechtsklick.
- WählenDatensatz generieren Option aus dem Menü. Auswahl der Option DataSet generieren
Der Dialog DataSet generieren wird angezeigt. Hier kann ein Name für das neu zu erstellende DataSet-Objekt ausgewählt werden und welche Tabellen hinzugefügt werden sollen.
- Wähle ausFügen Sie dieses Dataset dem Designer hinzu Möglichkeit.
- KlickenOK. Klicken Sie auf die Schaltfläche OK, um DataSet zu generieren
Dem Designer wird ein dataSet11-Objekt hinzugefügt. DataSet generiert und Designer hinzugefügt
Schritt 6: Verwenden des Arbeitsblatt-Designers
Jetzt ist es an der Zeit, das Geheimnis zu lüften.
- Wählen Sie das GridWeb-Steuerelement aus, und klicken Sie mit der rechten Maustaste.
- WählenArbeitsblatt-Designer Option aus dem Menü.
Auswählen der Option Arbeitsblatt-Designer
Der Worksheet Collection Editor (auch Worksheets Designer genannt) wird angezeigt. Dialogfeld Arbeitsblattsammlungs-Editor
Das Dialogfeld enthält mehrere Eigenschaften, die konfiguriert werden können, um Sheet1 an eine beliebige Tabelle in der Datenbank zu binden.
- Wähle ausDatenquelle Eigentum. Das im vorherigen Schritt generierte dataSet11-Objekt wird im Menü aufgelistet.
- Wählen Sie dataSet11.
- Drücke denDatenmitglied Eigentum. Der Worksheets Designer zeigt automatisch eine Liste von Tabellen in dataSet11. Es gibt nur eine Tabelle, Produkte.
- Wählen Sie die Tabelle Produkte aus. Festlegen von DataSource- und DataMember-Eigenschaften
- Überprüf denBindenSpalten Eigentum. Klicken Sie auf die BindColumns-Eigenschaft
Klicken Sie auf dieBindenSpalten -Eigenschaft öffnet den BindColumn-Auflistungs-Editor. Der BindColumn-Auflistungs-Editor
Im BindColumn Collection Editor werden alle Spalten derProdukte -Tabelle werden automatisch zur BindColumns-Auflistung hinzugefügt.
- Wählen Sie eine beliebige Spalte aus und passen Sie ihre Eigenschaften an. Beispielsweise können Sie jede Spaltenüberschrift ändern. Ändern der Beschriftung der ProductID-Spalte
- Nachdem Sie Änderungen vorgenommen haben, klicken Sie aufOK.
- Schließen Sie alle Dialoge durch AnklickenOK. Schließlich kehren Sie zur Seite WebForm1.aspx zurück. Rückkehr zur Seite WebForm1.aspx nach der Verwendung des Arbeitsblatt-Designers
Oben wird der Spaltenname der Tabelle „Products“ angezeigt. Die Breite der Spalten ist gering, sodass die vollständigen Namen einiger Spalten nicht vollständig sichtbar sind.
Schritt 7: Hinzufügen von Code zum Page_Load-Ereignishandler
Wir haben den Arbeitsblatt-Designer verwendet und müssen jetzt nur noch Code zum Page_Load-Ereignishandler hinzufügen, um das dataSet11-Objekt mit Daten aus der Datenbank zu füllen (unter Verwendung von oleDbDataAdapter1) und das GridWeb-Steuerelement durch Aufrufen seiner DataBind-Methode an dataSet11 zu binden.
- Fügen Sie den Code hinzu:
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
- Überprüfen Sie den Code, der dem Page_Load-Ereignishandler hinzugefügt wurde. Code zum Page_Load-Ereignishandler hinzugefügt
Schritt 8: Ausführen der Anwendung
Kompilieren Sie die Anwendung und führen Sie sie aus: Drücken Sie entwederStrg+F5 oder klickenStart. Ausführen der Anwendung
Nach der Kompilierung wird die Seite WebForm1.aspx in einem Browserfenster geöffnet, wobei alle Daten aus der Datenbank geladen werden. Daten, die aus der Datenbank in das GridWeb-Steuerelement geladen werden
Arbeiten mit dem GridWeb Control
Wenn Daten in das GridWeb-Steuerelement geladen werden, bietet es Benutzern die Kontrolle über die Daten. GridWeb bietet eine Reihe verschiedener Arten von Datenbearbeitungsfunktionen an.
Datenvalidierung
Aspose.Cells. GridWeb erstellt automatisch geeignete Validierungsregeln für alle gebundenen Spalten gemäß den in der Datenbank definierten Datentypen. Zeigen Sie den Validierungstyp einer Zelle an, indem Sie den Mauszeiger darüber bewegen. Überprüfung des Validierungstyps einer Zelle
Hier enthält die ausgewählte Zelle die**
Zeilen löschen
Um eine Zeile zu löschen, wählen Sie eine Zeile (oder eine beliebige Zelle in der Zeile) aus, klicken Sie mit der rechten Maustaste und wählen Sie ausZeile löschen. Auswahl der Option Zeile löschen aus dem Menü
Die Zeile würde sofort gelöscht. Rasterdaten (nachdem eine Zeile gelöscht wurde)
Zeilen bearbeiten
Bearbeiten Sie Daten in Zellen oder Zeilen und klicken Sie dann aufSpeichern odereinreichen um die Änderungen zu speichern.
Zeilen hinzufügen
- Um eine Zeile hinzuzufügen, klicken Sie mit der rechten Maustaste auf eine Zelle und wählen Sie sie ausZeile hinzufügen. Auswahl der Option Zeile hinzufügen aus dem Menü
Eine neue Zeile wird dem Blatt am Ende anderer Zeilen hinzugefügt. Neue Zeile zum Raster hinzugefügt
Links neben der neuen Zeile befindet sich ein Sternchen , was anzeigt, dass die Zeile neu ist.
- Fügen Sie der neuen Zeile Werte hinzu.
- KlickenSpeichern odereinreichen um die Änderung zu bestätigen. Änderungen an Daten speichern, indem Sie auf Speichern klicken Knopf
Zahlenformat einstellen
Im Moment sind die Preise in derProduktpreis Spalte werden als numerische Werte angezeigt. Es ist möglich, sie wie eine Währung aussehen zu lassen.
- Kehren Sie zu Visual Studio.NET zurück.
- Öffnen Sie den BindColumn-Auflistungs-Editor. DasNumberType Eigentum derProduktpreis Spalte eingestellt istAllgemein. Die NumberType-Eigenschaft ist auf General festgelegt
- KlickenDropdown-Liste und auswählenWährung4 von der Liste. Die NumberType-Eigenschaft wurde in Currency4 geändert
- Führen Sie die Anwendung erneut aus. Die Werte in derProduktpreis Spalte ist jetzt Währung. Produktpreise im Währungszahlenformat
Bearbeiten von Daten
Die Anwendung erlaubt ihren Benutzern bisher nur das Anzeigen von Tabellendaten. Benutzer können Daten im GridWeb-Steuerelement bearbeiten, aber beim Schließen des Browsers und Öffnen der Datenbank hat sich nichts geändert. Die vorgenommenen Änderungen werden nicht in der Datenbank gespeichert.
Im folgenden Beispiel wird der Anwendung Code hinzugefügt, sodass GridWeb Änderungen in der Datenbank speichern kann.
- Öffne dasEigenschaften und wählen Sie das SaveCommand-Ereignis des GridWeb-Steuerelements aus der Liste aus. Auswählen des SaveCommand-Ereignisses von GridWeb
- Doppelklicken Sie auf dieSaveCommand -Ereignis und VS.NET erstellt den GridWeb1_SaveCommand-Ereignishandler.
- Fügen Sie diesem Ereignishandler Code hinzu, der die Datenbank mit allen geänderten Daten im DataSet aktualisiert, die mit oleDbDataAdapter1 an das Arbeitsblatt gebunden sind.
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.WebWorksheets[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.WebWorksheets(0).DataSource, DataSet)
'Updating database according to modified DataSet
oleDbDataAdapter1.Update(dataset)
Finally
'Closing database connection
oleDbConnection1.Close()
End Try
End Sub
Sie können auch den Code überprüfen, der dem Ereignishandler GridWeb1_SaveCommand hinzugefügt wurde Code zum GridWeb1_SaveCommand-Ereignishandler hinzugefügt
Speichern Sie Änderungen in der Datenbank mit derSpeichern Schaltfläche speichert sie jetzt definitiv.