Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
DataGridView-kontrollen kan visa data i tre olika lägen: bundna, obundna och virtuella. Välj det lämpligaste läget baserat på dina behov.
Obunden
Obundet läge är lämpligt för att visa relativt små mängder data som du hanterar programmatiskt. Du kopplar inte DataGridView-kontrollen direkt till en datakälla som i bundet läge. I stället måste du fylla i kontrollen själv, vanligtvis med hjälp av metoden DataGridViewRowCollection.Add.
Obundet läge kan vara särskilt användbart för statiska, skrivskyddade data eller när du vill ange din egen kod som interagerar med ett externt datalager. När du vill att användarna ska interagera med en extern datakälla använder du vanligtvis bundet läge.
Ett exempel som använder en skrivskyddad obunden DataGridViewfinns i How to: Create an Unbound Windows Forms DataGridView Control.
Bunden
Bundet läge är lämpligt för att hantera data med hjälp av automatisk interaktion med datalagret. Du kan koppla DataGridView-kontrollen direkt till dess datakälla genom att ange egenskapen DataSource. När kontrollen är databunden överförs och dras datarader utan att du behöver administrera det uttryckligen. När egenskapen AutoGenerateColumns är trueskapas en motsvarande kolumn i kontrollen för varje kolumn i datakällan. Om du föredrar att skapa egna kolumner kan du ställa in den här egenskapen på false och använda egenskapen DataPropertyName för att binda varje kolumn när du konfigurerar den. Detta är användbart när du vill använda en annan kolumntyp än de typer som genereras som standard. Mer information finns i Kolumntyper i Windows Forms DataGridView Control.
Ett exempel som använder en bunden DataGridView kontroll finns i Genomgång: Validera data i Windows Forms DataGridView Control.
Du kan också lägga till obundna kolumner i en DataGridView kontroll i bundet läge. Detta är användbart när du vill visa en kolumn med knappar eller länkar som gör det möjligt för användare att utföra åtgärder på specifika rader. Det är också användbart att visa kolumner med värden som beräknas från bundna kolumner. Du kan fylla i cellvärdena för beräknade kolumner i en hanterare för händelsen CellFormatting. Om du använder en DataSet eller DataTable som datakälla kanske du vill använda egenskapen DataColumn.Expression för att skapa en beräknad kolumn i stället. I det här fallet behandlar DataGridView-kontrollen beräknade kolumner precis som andra kolumner i datakällan.
Sortering efter obundna kolumner i bundet läge stöds inte. Om du skapar en obunden kolumn i bundet läge som innehåller användarredigerbara värden måste du implementera virtuellt läge för att behålla dessa värden när kontrollen sorteras efter en bunden kolumn.
Virtuell
Med virtuellt läge kan du implementera dina egna datahanteringsåtgärder. Detta är nödvändigt för att upprätthålla värdena för obundna kolumner i bundet läge när kontrollen sorteras efter bundna kolumner. Den primära användningen av virtuellt läge är dock att optimera prestanda när du interagerar med stora mängder data.
Du kopplar DataGridView-kontrollen till ett cacheminne som du hanterar och din kod styr när datarader pushas och hämtas. Om du vill hålla minnesfotavtrycket litet bör cacheminnet vara ungefär lika stort som antalet rader som visas för närvarande. När användaren rullar nya rader i vyn begär koden nya data från cacheminnet och rensar eventuellt gamla data från minnet.
När du implementerar virtuellt läge måste du spåra när en ny rad behövs i datamodellen och när du ska återställa tillägget av den nya raden. Den exakta implementeringen av den här funktionen beror på implementeringen av datamodellen och transaktionssemantiken för datamodellen. Om åtagandeomfånget är på cell- eller radnivå.
Mer information om virtuellt läge finns i virtuellt läge i Windows Forms DataGridView Control. Ett exempel som visar hur du använder händelser i virtuellt läge finns i Genomgång: Implementera virtuellt läge i Windows Forms DataGridView Control.
Se även
- DataGridView
- DataGridView.DataSource
- DataGridView.VirtualMode
- BindingSource
- DataGridViewColumn.DataPropertyName
- Visning av data i Windows Forms DataGridView-kontrollen
- Kolumntyper i Windows Forms DataGridView-kontroll
- Genomgång: Skapa en obunden Windows Forms DataGridView-kontroll
- Så här: Binda data till Windows Forms DataGridView-kontrollen
- Virtuellt läge i Windows Forms DataGridView Control
- Handledning: Implementera virtuellt läge i Windows Forms DataGridView-kontroller
.NET Desktop feedback