Bindning av kalkylblad till en datauppsättning med GridWebs kalkylbladsdesigner
Bindning av ett kalkylblad med databas med hjälp av kalkylbladsdesigner
**Steg 1: Skapa en exempeldatabas**
- Först skapar vi exempeldatabasen som kommer att användas i den här artikeln. Vi använder Microsoft Access för att skapa en databas som innehåller en tabell som heter Produkter. Dess schema visas nedan. Designinformation för produkttabellen
- Några få dummyposter läggs till i produkttabellen. Poster i tabellen Produkter
Steg 2: Designa exempelapplikation
En ASP.NET webbapplikation skapas och designas i Visual Studio.NET som visas nedan. Designad exempelapplikation
Steg 3: Anslut till databasen med Server Explorer
Det är dags att ansluta till databasen. Vi kan göra det enkelt med hjälp av Server Explorer i Visual Studio.NET.
- VäljUppkoppling iServer Explorer och högerklicka.
- VäljLägg till anslutning från menyn. Välj alternativet Lägg till anslutning
Dialogrutan Data Link Properties visas. Dialogrutan Data Link Properties
Med den här dialogrutan kan du ansluta till vilken databas som helst. Som standard låter den dig ansluta till en SQL Server-databas. För det här exemplet måste vi ansluta till en Microsoft Access-databas.
- Klicka påLeverantör flik.
- VäljMicrosoft Jet 4.0 OLE DB-leverantör frånOLE DB-leverantör(er) lista.
- KlickNästa. Klicka på Nästa efter att ha valt en OLE DB-leverantör
DeFörbindelse fliksidan öppnas.
- Välj Microsoft Access-databasfilen (i vårt fall db.mdb) och klicka påOK. Klicka på OK-knappen efter att ha valt databasfil
Steg 4: Skapa databasanslutningsobjekt grafiskt
- Bläddra i tabellerna i databasen med hjälp avServer Explorer. Det finns bara ett bord, produkter.
- Dra och släpp tabellen Produkter frånServer Explorer tillWebbformulär. Dra produkttabellen från Server Explorer och släpp till webbformuläret
En dialogruta kan visas. Dialog för att bekräfta att databaslösenordet ingår i anslutningssträngen
Bestäm om du vill inkludera ett databaslösenord i anslutningssträngen eller inte. För det här exemplet valde viInkludera inte lösenord. Två databasanslutningsobjekt (oleDbConnection1 och oleDbDataAdapter1) har skapats och lagts till. Databasanslutningsobjekt (oleDbConnection1 & oleDbDataAdapter1) skapade och visade
Steg 5: Generera datauppsättning
Hittills har vi skapat databasanslutningsobjekt men behöver fortfarande någonstans att lagra data efter att ha anslutit till databasen. Ett DataSet-objekt kan lagra data exakt och vi kan också generera det enkelt med VS.NET IDE.
- VäljoleDbDataAdaper1 och högerklicka.
- VäljGenerera datauppsättning alternativ från menyn. Välj alternativet Generera datauppsättning
Dialogrutan Generera datauppsättning visas. Här är det möjligt att välja ett namn för det nya DataSet-objektet som ska skapas, och vilka tabeller som ska läggas till det.
- VäljLägg till denna datauppsättning till designern alternativ.
- KlickOK. Klicka på OK-knappen för att generera Dataset
Ett dataSet11-objekt läggs till i designern. Dataset genereras och läggs till designern
Steg 6: Använda Worksheets Designer
Nu är det dags att öppna hemligheten.
- Välj GridWeb-kontrollen och högerklicka.
- VäljArbetsbladsdesigner alternativ från menyn.
Välja alternativet Arbetsbladsdesigner
Redigeraren för kalkylbladsinsamling (även kallad kalkylbladsdesignern) visas. Dialogrutan för redigering av kalkylbladssamling
Dialogrutan innehåller flera egenskaper som kan konfigureras för att binda Sheet1 till valfri tabell i databasen.
- VäljDatakälla fast egendom. DataSet11-objektet som genererades i föregående steg listas på menyn.
- Välj datamängd 11.
- Klicka påDataMember fast egendom. Kalkylbladsdesignern visar automatiskt en lista med tabeller i datamängd 11. Det finns bara ett bord, produkter.
- Välj tabellen Produkter. Ställa in egenskaperna DataSource och DataMember
- KollaBindColumns fast egendom. Klicka på BindColumns-egenskapen
Genom att klicka påBindColumns egenskapen öppnar BindColumn Collection Editor. BindColumn Collection Editor
I BindColumn Collection Editor, alla kolumner iProdukter tabellen läggs automatiskt till i BindColumns-samlingen.
- Välj valfri kolumn och anpassa dess egenskaper. Du kan till exempel ändra varje kolumntext. Ändra kolumnen Caption of ProductID
- När du har gjort ändringar klickar duOK.
- Stäng alla dialogrutor genom att klickaOK. Slutligen kommer du tillbaka till sidan WebForm1.aspx. Återgår till sidan WebForm1.aspx efter att ha använt kalkylbladsdesignern
Ovan visas produkttabellens kolumnnamn. Kolumnernas bredd är liten så de fullständiga namnen på vissa kolumner är inte helt synliga.
Steg 7: Lägga till kod till Page_Load Event Handler
Vi har använt kalkylbladsdesignern och måste nu bara lägga till kod till händelsehanteraren Page_Load för att fylla dataSet11-objektet med data från databasen (med oleDbDataAdapter1) och binda GridWeb-kontrollen till dataSet11 genom att anropa dess DataBind-metod.
- Lägg till koden:
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
- Kontrollera koden som lagts till i Page_Load-händelsehanteraren. Koden har lagts till i händelsehanteraren Page_Load
Steg 8: Kör applikationen
Kompilera och kör programmet: antingen tryck påCtrl+F5 eller klickaStart. Kör applikationen
Efter kompileringen öppnas sidan WebForm1.aspx i ett webbläsarfönster med all data laddad från databasen. Data laddas in i GridWeb-kontrollen från databasen
Arbeta med GridWeb Control
När data läses in i GridWeb-kontrollen ger det användarna kontroll över datan. Ett antal olika typer av datamanipuleringsfunktioner erbjuds av GridWeb.
Datavalidering
Aspose.Cells.GridWeb skapar automatiskt lämpliga valideringsregler för alla bundna kolumner enligt de datatyper som definieras i databasen. Se valideringstypen för en cell genom att föra markören över den. Kontrollerar valideringstyp för en cell
Här innehåller den markerade cellen**
Ta bort rader
För att ta bort en rad, välj en rad (eller valfri cell i raden), högerklicka och väljTa bort rad. Välj alternativet Ta bort rad från menyn
Raden skulle raderas omedelbart. Rutnätsdata (efter att en rad har tagits bort)
Redigera rader
Redigera data i celler eller rader och klicka sedanSpara ellerSkicka in för att spara ändringarna.
Lägga till rader
- För att lägga till en rad, högerklicka på en cell och väljLägg till rad. Välj alternativet Lägg till rad från menyn
En ny rad läggs till i arket i slutet av andra rader. Ny rad har lagts till i Grid
Till vänster om den nya raden finns en asterisk , vilket indikerar att raden är ny.
- Lägg till värden på den nya raden.
- KlickSpara ellerSkicka in för att bekräfta ändringen. Spara ändringar av data genom att klicka på Spara knapp
Ställa in nummerformat
För tillfället är priserna iProduktpris kolumnen visas som numeriska värden. Det är möjligt att få dem att se ut som valuta.
- Återgå till Visual Studio.NET.
- Öppna BindColumn Collection Editor. DeNumberType egendom avProduktpris kolumnen är inställd påAllmän. NumberType-egenskapen inställd på General
- KlickDropDown List och väljValuta4 från listan. NumberType-egenskapen ändrades till Currency4
- Kör programmet igen. Värdena iProduktpris kolumnen är nu valuta. Produktpriser i valuta Nummerformat
Redigera data
Applikationen låter än så länge endast dess användare se tabelldata. Användare kan redigera data i GridWeb-kontrollen, men när man stänger webbläsaren och öppnar databasen har ingenting förändrats. Ändringarna som görs sparas inte i databasen.
Följande exempel lägger till kod till applikationen så att GridWeb kan spara ändringar i databasen.
- ÖppnaEgenskaper och välj GridWeb-kontrollens SaveCommand-händelse från listan. Att välja SaveCommand-händelse för GridWeb
- Dubbelklicka påSaveCommand händelse och VS.NET skapar händelsehanteraren GridWeb1_SaveCommand.
- Lägg till kod till denna händelsehanterare som kommer att uppdatera databasen med eventuella modifierade data i datauppsättningen som är bunden till kalkylbladet med 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.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
Du kan också kontrollera koden som lagts till i GridWeb1_SaveCommand-händelsehanteraren Kod tillagd till händelsehanteraren GridWeb1_SaveCommand
Spara ändringar i databasen med hjälp avSpara knappen sparar dem nu definitivt.