Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de virtuele modus kunt u de interactie tussen het DataGridView besturingselement en een aangepaste gegevenscache beheren. Als u de virtuele modus wilt implementeren, stelt u de VirtualMode eigenschap in op true en verwerkt u een of meer van de gebeurtenissen die in dit onderwerp worden beschreven. Doorgaans verwerkt u ten minste de CellValueNeeded gebeurtenis, waardoor het besturingselement waarden in de gegevenscache kan opzoeken.
Gebonden modus en virtuele modus
De virtuele modus is alleen nodig wanneer u de afhankelijke modus moet aanvullen of vervangen. In de afhankelijke modus stelt u de DataSource-eigenschap in, en laadt het besturingselement automatisch de gegevens uit de opgegeven bron en stuurt u gebruikerswijzigingen terug. U kunt bepalen welke afhankelijke kolommen worden weergegeven en de gegevensbron zelf verwerkt doorgaans bewerkingen zoals sorteren.
Aanvullende gebonden modus
U kunt de afhankelijke modus aanvullen door niet-afhankelijke kolommen samen met de afhankelijke kolommen weer te geven. Dit wordt ook wel 'gemengde modus' genoemd en is handig voor het weergeven van zaken zoals berekende waarden of ui-besturingselementen (user-interface).
Omdat niet-afhankelijke kolommen zich buiten de gegevensbron bevinden, worden ze genegeerd door de sorteerbewerkingen van de gegevensbron. Wanneer u sorteren in gemengde modus inschakelt, moet u daarom de niet-afhankelijke gegevens in een lokale cache beheren en de virtuele modus implementeren om het DataGridView besturingselement ermee te laten werken.
Zie de voorbeelden in de onderwerpen over eigenschappen DataGridViewCheckBoxColumn.ThreeState en System.Windows.Forms.DataGridViewComboBoxColumn klassenreferenties voor meer informatie over het gebruik van de virtuele modus om de waarden in niet-afhankelijke kolommen te behouden.
Gebonden modus vervangen
Als de afhankelijke modus niet voldoet aan uw prestatiebehoeften, kunt u al uw gegevens in een aangepaste cache beheren via gebeurtenis-handlers in de virtuele modus. U kunt bijvoorbeeld de virtuele modus gebruiken om een Just-In-Time-mechanisme voor het laden van gegevens te implementeren waarmee alleen zoveel gegevens uit een netwerkdatabase worden opgehaald als nodig is voor optimale prestaties. Dit scenario is met name handig bij het werken met grote hoeveelheden gegevens via een trage netwerkverbinding of met clientcomputers met een beperkte hoeveelheid RAM- of opslagruimte.
Zie Virtual Mode implementeren met Just-In-Time Data Loading in het Besturingselement Windows Forms DataGridView voor meer informatie over het gebruik van de virtuele modus in een Just-In-Time-scenario.
Virtual-Mode Evenementen
Als uw gegevens alleen-lezen zijn, is de CellValueNeeded gebeurtenis mogelijk de enige gebeurtenis die u moet afhandelen. Met aanvullende gebeurtenissen in de virtuele modus kunt u specifieke functionaliteit inschakelen, zoals bewerkingen van gebruikers, het toevoegen en verwijderen van rijen en transacties op rijniveau.
Sommige standaardgebeurtenissen DataGridView (zoals gebeurtenissen die optreden wanneer gebruikers rijen toevoegen of verwijderen, of wanneer celwaarden worden bewerkt, geparseerd, gevalideerd of opgemaakt) zijn ook handig in de virtuele modus. U kunt ook gebeurtenissen afhandelen waarmee u waarden kunt onderhouden die doorgaans niet zijn opgeslagen in een gebonden gegevensbron, zoals celtooltips, cel- en rijfouttekst, cel- en rijsnelmenu-informatie en rijhoogtegegevens.
Zie Overzicht: Virtuele modus implementeren in het Besturingselement Windows Forms DataGridView voor meer informatie over het implementeren van virtuele modus voor het beheren van lees-/schrijfgegevens met een doorvoerbereik op rijniveau.
Zie het eigenschapsreferentieonderwerp VirtualMode voor een voorbeeld dat de virtuele modus implementeert met een doorvoerbereik op celniveau.
De volgende gebeurtenissen treden alleen op wanneer de VirtualMode eigenschap is ingesteld op true.
| Gebeurtenis | Beschrijving |
|---|---|
| CellValueNeeded | Wordt gebruikt door het besturingselement om een celwaarde op te halen uit de gegevenscache voor weergave. Deze gebeurtenis vindt alleen plaats voor cellen in niet-afhankelijke kolommen. |
| CellValuePushed | Wordt gebruikt door de controle om gebruikersinvoer voor een cel door te voeren naar de data cache. Deze gebeurtenis vindt alleen plaats voor cellen in niet-afhankelijke kolommen. Roep de UpdateCellValue methode aan bij het wijzigen van een waarde in de cache buiten een CellValuePushed gebeurtenishandler om ervoor te zorgen dat de huidige waarde wordt weergegeven in het besturingselement en om automatische groottemodi toe te passen die momenteel van kracht zijn. |
| NewRowNeeded | Wordt door het besturingselement gebruikt om aan te geven dat er een nieuwe rij in de gegevenscache nodig is. |
| RowDirtyStateNeeded | Wordt door het besturingselement gebruikt om te bepalen of een rij niet-doorgevoerde wijzigingen bevat. |
| CancelRowEdit | Wordt door het besturingselement gebruikt om aan te geven dat een rij moet terugkeren naar de waarden in de cache. |
De volgende gebeurtenissen zijn handig in de virtuele modus, maar kunnen worden gebruikt, ongeacht de instelling van de VirtualMode eigenschap.
| Evenementen | Beschrijving |
|---|---|
| UserDeletingRow UserDeletedRow RowsRemoved RowsAdded |
Wordt gebruikt door het besturingselement om aan te geven wanneer rijen worden verwijderd of toegevoegd, zodat u de gegevenscache dienovereenkomstig kunt bijwerken. |
| CellFormatting CellParsing CellValidating CellValidated RowValidating RowValidated |
Wordt gebruikt door het besturingselement om celwaarden op te maken voor weergave en om gebruikersinvoer te parseren en te valideren. |
| CellToolTipTextNeeded | Wordt gebruikt door het besturingselement om de tekst van de ToolTip voor cellen op te halen wanneer de DataSource eigenschap is ingesteld of de VirtualMode eigenschap is true.Tooltips worden alleen weergegeven wanneer de ShowCellToolTips eigenschapswaarde true is. |
| CellErrorTextNeeded RowErrorTextNeeded |
Wordt door de bediening gebruikt om cel- of rijfouttekst op te halen wanneer de DataSource-eigenschap is ingesteld of wanneer de VirtualMode-eigenschap true is.Roep de UpdateCellErrorText methode of de UpdateRowErrorText methode aan wanneer u de fouttekst van de cel of rij wijzigt om ervoor te zorgen dat de huidige waarde wordt weergegeven in het besturingselement. Cel- en rijfout-glyphs worden weergegeven wanneer de ShowCellErrors en ShowRowErrors eigenschapswaarden zijn true. |
| CellContextMenuStripNeeded RowContextMenuStripNeeded |
Wordt door het besturingselement gebruikt om een cel of rij ContextMenuStrip op te halen wanneer de eigenschap van het besturingselement DataSource is ingesteld of de VirtualMode eigenschap is true. |
| RowHeightInfoNeeded RowHeightInfoPushed |
Wordt door het besturingselement gebruikt om rijhoogtegegevens op te halen of op te slaan in de gegevenscache. Roep de UpdateRowHeightInfo methode aan wanneer u de gecachte rijhoogte-informatie buiten een gebeurtenishandler RowHeightInfoPushed wijzigt om ervoor te zorgen dat de huidige waarde wordt gebruikt bij het weergeven van het besturingselement. |
Beste praktijken in de virtuele omgeving
Als u de virtuele modus implementeert om efficiënt te kunnen werken met grote hoeveelheden gegevens, wilt u er ook voor zorgen dat u efficiënt met het DataGridView besturingselement zelf werkt. Zie Aanbevolen procedures voor het schalen van het Besturingselement Windows Forms DataGridView voor meer informatie over het efficiënt gebruik van celstijlen, automatische grootte, selecties en het delen van rijen.
Zie ook
- DataGridView
- VirtualMode
- Prestatieoptimalisatie in het Windows Forms DataGridView-besturingselement
- Aanbevolen procedures voor het schalen van het Besturingselement Windows Forms DataGridView
- Overzicht: Virtuele Modus Implementeren in het Windows Forms DataGridView-besturingselement
- Virtuele modus implementeren met Just-In-Time Gegevens laden in het Besturingselement Windows Forms DataGridView
.NET Desktop feedback