Bindning av arbetsblad till en DataSet med hjälp av GridWebs arbetsbladsdesigner
Binda ett arbetsblad med databas med hjälp av arbetsbladsdesignern
**Steg 1: Skapa en provdatabas**
- Först skapar vi den provdatabas 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 kallas Produkter. Dess schema visas nedan. Designinformation för Produkter-tabellen
- Några dummyposter läggs till i Produkter-tabellen. Poster i Produkter-tabellen
Steg 2: Design av provapplikation
En ASP.NET-webbapplikation skapas och designas i Visual Studio.NET enligt nedan. Designad provapplikation
Steg 3: Anslutning till databas med Server Explorer
Det är dags att ansluta till databasen. Vi kan enkelt göra det med hjälp av Server Explorer i Visual Studio.NET.
- Välj Dataanslutning i Server Explorer och högerklicka.
- Välj Lägg till anslutning från menyn. Att välja alternativet Lägg till anslutning
Dialogrutan Egenskaper för dataanslutning visas. Dialogrutan Egenskaper för dataanslutning
Med hjälp av denna dialogruta kan du ansluta till valfri databas. Som standard kan du ansluta till en SQL Server-databas. För det här exemplet behöver vi ansluta till en Microsoft Access-databas.
- Klicka på fliken Leverantör.
- Välj Microsoft Jet 4.0 OLE DB Provider från listan över OLE DB-leverantör(er).
- Klicka på Nästa. Klicka på Nästa efter att ha valt en OLE DB-leverantör
Fliken Anslutning öppnas.
- Välj filen för Microsoft Access-databasen (i vårt fall db.mdb) och klicka på OK. Klicka på OK-knappen efter att ha valt databasfil
Steg 4: Skapande av databasanslutningsobjekt grafiskt
- Bläddra i tabellerna i databasen med hjälp av Server Explorer. Det finns endast en tabell, Produkter.
- Dra och släpp tabellen Produkter från Server Explorer till Webbformuläret. Dra tabellen Produkter från Server Explorer och släpp till webbformuläret
En dialogruta kan visas. Dialogruta för att bekräfta inkludering av databaslösenord i anslutningssträng
Decidera om du vill inkludera ett databaslösenord i anslutningssträngen eller inte. För det här exemplet valde vi Inkludera inte lösenord. Två databasanslutningsobjekt (oleDbConnection1 och oleDbDataAdapter1) har skapats och lagts till. Databasanslutningsobjekt (oleDbConnection1 och oleDbDataAdapter1) skapade och visas
Steg 5: Generering av DataSet
Hittills har vi skapat anslutningsobjekt till databasen men behöver fortfarande någonstans att lagra data efter anslutning till databasen. En DataSet-objekt kan lagra data exakt och vi kan också generera det lätt med hjälp av VS.NET IDE.
- Välj oleDbDataAdaper1 och högerklicka.
- Välj Skapa DataSet alternativet från menyn. Val av Skapa DataSet-alternativ
Skapa DataSet-dialogen visas. Här är det möjligt att välja ett namn för det nya DataSet-objekt som ska skapas, och vilka tabeller som ska läggas till det.
- Välj Lägg till detta dataset till formgivaren alternativet.
- Klicka på OK. Klicka på OK-knappen för att generera DataSet
En dataSet11-objekt läggs till formgivaren. DataSet genererat och tillagt till formgivaren
Steg 6: Användning av Worksheet-formgivaren
Nu är det dags att öppna den hemliga.
-
Välj GridWeb-kontrollen och högerklicka.
-
Välj Worksheet-formgivaren alternativet från menyn.
Val av Worksheet-formgivaralternativ
Arbetsbokssamlingsredigeraren (även kallad Worksheets Designer) visas. Worksheet Collection Editor-dialog
Dialogen innehåller flera egenskaper som kan konfigureras för att binda Sheet1 till valfri tabell i databasen.
- Välj DataSource-egenskapen. dataSet11-objektet som genererades i det föregående steget listas på menyn.
- Välj dataSet11.
- Klicka på DataMember-egenskapen. Worksheet-formgivaren visar automatiskt en lista över tabeller i dataSet11. Det finns bara en tabell, Products.
- Välj tabellen Products. Inställning av DataSource- och DataMember-egenskaper
- Kryssa i BindColumns-egenskapen. Klicka på BindColumns-egenskapen
Klicka på BindColumns-egenskapen öppnar BindColumn Collection Editor. BindColumn Collection Editor
I BindColumn Collection Editor, läggs alla kolumner i tabellen Products automatiskt till BindColumns-samlingen.
- Välj en kolumn och anpassa dess egenskaper. Till exempel kan du ändra varje kolumnrubrik. Ändra kolumnrubriken för ProductID-kolumnen
- Klicka på OK efter att ha gjort ändringarna.
- Stäng alla dialogrutor genom att klicka på OK. Till sist återvänder du till sidan WebForm1.aspx. Tillbaka till sidan WebForm1.aspx efter att ha använt Worksheets Designer
Ovan visas namnet på Products tabellkolumn. Kolumnernas bredd är liten så hela namnen på vissa kolumner syns inte helt.
Steg 7: Lägga till kod till Page_Load Event Handler
Vi har använt Worksheets Designer och behöver nu bara lägga till kod till Page_Load-händelsen för att fylla dataSet11-objektet med data från databasen (använda 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 har lagts till Page_Load-eventet. Kod som har lagts till Page_Load-händelsen
Steg 8: Köra applikationen
Kompilera och kör applikationen: tryck på Ctrl+F5 eller klicka på Start. Köra applikationen
Efter kompilering öppnas sidan WebForm1.aspx i en webbläsarflik med alla data hämtade från databasen. Data laddat i GridWeb-kontrollen från databasen
Arbeta med GridWeb Control
När data laddas in i GridWeb-kontrollen ger den användarna kontroll över datan. GridWeb erbjuder ett antal olika typer av datamanipuleringsfunktioner.
Data validering
Aspose.Cells.GridWeb skapar automatiskt lämpliga valideringsregler för alla bundna kolumner enligt de datatyper som är definierade i databasen. Se valideringstypen för en cell genom att hålla muspekaren över den. Kontrollera valideringstypen för en cell
Here, the selected cell contains the
Ta bort rader
För att ta bort en rad, välj en rad (eller cell i raden), högerklicka och välj Radera rad. Välj alternativet Radera rad från menyn
Raden kommer att tas bort omedelbart. Grid-data (efter att en rad är raderad)
Redigera rader
Redigera data i celler eller rader och klicka sedan på Spara eller Skicka in för att spara ändringarna.
Lägger till rader
- För att lägga till en rad, högerklicka på en cell och välj Lägg till rad. Välja alternativet Lägg till rad från menyn
En ny rad läggs till i kalkylarket i slutet av de andra raderna. Ny rad tillagd i rutnätet
At the left of the new row is an asterisk
, indicating that the row is new.
- Lägg till värden i den nya raden.
- Klicka på Spara eller Skicka för att bekräfta ändringen. Spara ändringar i data genom att klicka på Spara-knappen
Anga nummerformat
För närvarande visas priserna i kolumnen Produktpris som numeriska värden. Det är möjligt att låta dem se ut som valuta.
- Återgå till Visual Studio.NET.
- Öppna BindColumn Collection Editor. Egenskapen NumberType för kolumnen Produktpris är inställd på Allmän. Egenskapen NumberType inställd på Allmän
- Klicka på DropDownList och välj Valuta4 från listan. Egenskapen NumberType ändrad till Valuta4
- Kör applikationen igen. Värdena i kolumnen Produktpris är nu valuta. Produktpriser i valutnummer format
Redigerar data
Hittills tillåter applikationen endast sina användare att visa tabelldata. Användare kan redigera data i GridWeb-reglaget men när de stänger webbläsaren och öppnar databasen har ingenting ändrats. De gjorda ändringarna sparas inte i databasen.
Det följande exemplet lägger till kod i applikationen så att GridWeb kan spara ändringar i databasen.
- Öppna Egenskaper-fönstret och välj SaveCommand-händelsen för GridWeb-reglaget från listan. Välj SaveCommand-händelsen för GridWeb
- Dubbelklicka på SaveCommand-händelsen och VS.NET skapar händelseshanteraren GridWeb1_SaveCommand.
- Lägg till kod i denna händelseshanterare som kommer att uppdatera databasen med eventuellt modifierade data i DataSet bunden till kalkylarket med hjälp av 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
Du kan också kontrollera koden som har lagts till i händelseshanteraren GridWeb1_SaveCommand Kod tillagd i händelseshanteraren GridWeb1_SaveCommand
Spara ändringar i databasen med Spara-knappen sparar dem definitivt nu.