Partager via


Contrôle DataGrid pour les utilisateurs de Visual Basic 6.0

Mise à jour : novembre 2007

Le contrôle DataGrid de Visual Basic 6.0 est remplacé par le contrôle Windows Forms DataGridView dans Visual Basic 2008. Les noms de certains événements, propriétés, méthodes et constantes ont changé. En outre, dans certains cas, leur comportement est également différent.

Différences conceptuelles

Liaison de données

Le contrôle Visual Basic 2008DataGridView ne demande ni méthode, ni événement spécifique aux données, car toutes les actions sont exécutées via la source de données. En raison de cette séparation entre la fonctionnalité des données et la présentation, la source de données peut être modifiée avec ou sans action dans l'interface utilisateur. En outre, plusieurs contrôles liés à la même source de données seront toujours synchronisés.

Les propriétés pour l'affichage et la navigation présentes dans le contrôle DataGrid (notamment TabAction, EnterAction, AllowArrows, WrapCellPointer et Scrollable) ne sont plus nécessaires. Par exemple, la grille fonctionne comme si la propriété Scrollable avait pour valeur True : si la quantité de données est telle qu'elles ne peuvent pas s'afficher intégralement, une barre de défilement est ajoutée automatiquement. Par défaut, la navigation dans la grille est similaire à celle qui est proposée par Excel : l'utilisateur peut avancer à l'aide la touche TAB et reculer à l'aide de la combinaison de touches MAJ+TAB. Pour plus d'informations, consultez Gestion par défaut du clavier et de la souris dans le contrôle DataGridView Windows Forms.

Propriété Caption

Dans Visual Basic 6.0, la propriété Caption est utilisée pour afficher une barre de titre au-dessus de la grille ; si la propriété Caption n'est pas définie, aucune barre de titre ne s'affiche.

Le contrôle Visual Basic 2008DataGridView ne prend pas en charge une barre de titre. Toutefois, vous pouvez obtenir le même effet à l'aide d'un contrôle Label.

Mise en forme de données

Dans Visual Basic 6.0, la mise en forme des données dans le contrôle DataGrid est gérée à l'aide de la propriété DataFormat et d'un objet StdDataFormat. La mise en forme s'applique une colonne après l'autre.

Dans le contrôle Visual Basic 2008DataGridView, la mise en forme est accomplie à l'aide de la propriété Format d'un objet DataGridViewCellStyle. La mise en forme peut s'appliquer individuellement aux cellules, colonnes ou lignes. Pour plus d'informations, consultez Mise en forme de données dans le contrôle DataGridView Windows Forms.

Propriété hWndEditor

Dans Visual Basic 6.0, la propriété hWndEditor est utilisée pour passer le handle de fenêtre affecté à la fenêtre de modification d'un contrôle DataGrid à un appel d'API Windows.

Le contrôle Visual Basic 2008DataGridView n'a pas de handle de fenêtre distinct en mode édition ; à la place, utilisez la propriété Handle du contrôle DataGridView, ou tout contrôle d'édition incorporé.

Propriété MarqueeStyle

Dans Visual Basic 6.0, la propriété MarqueeStyle contrôle l'aspect d'une cellule ou d'une ligne sélectionnée, en modifiant le style de bordure, en inversant les couleurs de premier plan et d'arrière-plan, ou en appelant une fenêtre de modification.

Il n'y a aucun équivalent direct pour le contrôle Visual Basic 2008DataGridView. Toutefois, vous pouvez obtenir le même effet à l'aide d'une combinaison des propriétés SelectionMode, CellBorderStyle et Format. Pour plus d'informations, consultez Modes de sélection dans le contrôle DataGridView Windows Forms.

Propriétés SelLength, SelStart et SelText

Dans le contrôle Visual Basic 6.0 DataGrid, lorsqu'une cellule entre en mode édition, les propriétés SelLength, SelStart et SelText permettent de définir la position initiale du signe insertion ou de mettre en surbrillance une partie du texte dans la cellule.

Ces propriétés n'existent plus dans le contrôle Visual Basic 2008DataGridView. Les cellules du contrôle DataGridView reposent sur le contrôle TextBox ; en ajoutant un code au gestionnaire d'événements EditingControlShowing, vous pouvez accéder aux propriétés SelectionLength, SelectionStart et SelectedText du contrôle sous-jacent.

Affichages fractionnés

Le contrôle Visual Basic 6.0 DataGrid prend en charge l'affichage fractionné, qui permet à l'utilisateur d'afficher les mêmes données côte à côte. L'objet Split et les propriétés Split, Splits et TabAcrossSplits contrôlent la capacité d'afficher un affichage fractionné.

Ces propriétés n'existent plus dans le contrôle Visual Basic 2008DataGridView. Toutefois, vous pouvez obtenir le même effet à l'aide d'un ou plusieurs contrôles SplitContainer et de plusieurs contrôles DataGridView. Pour dupliquer les fonctionnalités de la propriété TabAcrossSplits, vous pouvez utiliser la propriété StandardTab du contrôle DataGridView.

Modifications apportées au code du contrôle DataGrid

Le code suivant illustre les différences entre Visual Basic 6.0 et Visual Basic 2008 en montrant comment, dans chaque version, mettre en surbrillance le texte d'une cellule lorsqu'un utilisateur sélectionne la cellule dans un contrôle DataGridView.

' Visual Basic 6.0
Private Sub DataGrid1_Click()
    DataGrid1.SelStart = 1
    DataGrid1.SelLength = DataGrid1.Text
    MsgBox("The selected text is " & DataGrid1.SelText)
End Sub
' Visual Basic
Private Sub DataGridView1_EditingControlShowing( _
ByVal sender As Object, ByVal e As System.Windows.Forms. _
DataGridViewEditingControlShowingEventArgs) _
Handles DataGridView1.EditingControlShowing
    CType(e.Control, TextBox).SelectionStart = 0
    CType(e.Control, TextBox).SelectionLength = Len(CType(e.Control, _
      TextBox).Text)
    MsgBox("The selected text is " & CType(e.Control, _
      TextBox).SelectedText)
End Sub

Équivalences des propriétés, méthodes et événements du contrôle DataGrid

Les tableaux ci-dessous répertorient les propriétés, les méthodes et les événements de Visual Basic 6.0, ainsi que leurs équivalents dans Visual Basic 2008. Ces propriétés, méthodes et événements qui ont les mêmes nom et comportement ne sont pas répertoriés. Sauf indication contraire, toutes les énumérations Visual Basic 2008 sont mappées à l'espace de noms System.Windows.Forms.

Ce tableau fournit des liens vers les rubriques qui expliquent des différences de comportement. Lorsqu'il n'existe pas d'équivalent direct dans Visual Basic 2008, des liens vous renvoient vers des rubriques proposant des alternatives.

Propriétés

Visual Basic 6.0

Équivalent Visual Basic 2005

AddNewMode

Nouvelle implémentation. Les opérations sur les données sont gérées dans la source de données. Pour plus d'informations, consultez Affichage des données dans le contrôle DataGridView Windows Forms.

Align

Dock et Anchor

AllowAddNew

AllowNew (BindingSource)

AllowArrows

N'est plus une propriété ajustable ; la navigation au moyen des flèches est toujours autorisée. Pour plus d'informations, consultez Gestion par défaut du clavier et de la souris dans le contrôle DataGridView Windows Forms.

AllowDelete

AllowRemove (BindingSource)

AllowRowSizing

AllowUserToResizeRows

AllowUpdate

AllowEdit (BindingSource)

Appearance

Nouvelle implémentation. Pour plus d'informations, consultez Propriétés Appearance et BorderStyle pour les utilisateurs de Visual Basic 6.0.

ApproxCount

Nouvelle implémentation. Les opérations sur les données sont gérées dans la source de données. Pour plus d'informations, consultez Affichage des données dans le contrôle DataGridView Windows Forms.

BackColor

BackgroundColor

Remarque :

Les couleurs sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Comportement des couleurs pour les utilisateurs de Visual Basic 6.0.

Bookmark

Nouvelle implémentation. Vous pouvez désormais accéder directement à tous les éléments.

Caption

Nouvelle implémentation. Utilisez un contrôle Label pour simuler une barre de titre.

Col

SelectedColumns

ColumnHeaders

ColumnHeadersVisible

Container

Parent ; hérité de Control.

CurrentCellModified

IsCurrentCellDirty, IsCurrentCellInEditMode

CurrentCellVisible

CurrentCell

Remarque :

Si la propriété CurrentCell a pour valeur une cellule qui n'est pas visible, la grille défile jusqu'à cette cellule (comme en définissant CurrentCellVisible = True).

DataChanged

IsCurrentCellDirty, IsCurrentRowDirty

DataFormats

DataGridViewCellStyle.object.

Remarque :

La mise en forme peut être définie individuellement pour une cellule, une colonne ou une ligne.

DefColWidth

Width Objet DataGridViewColumn.

DragIcon

DragMode

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0.

EditActive

IsCurrentCellInEditMode

FirstRow

FirstDisplayedScrollingRowIndex

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

Remarque :

Les polices sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Gestion des polices pour les utilisateurs de Visual Basic 6.0.

ForeColor

ForeColor

Remarque :

Les couleurs sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Comportement des couleurs pour les utilisateurs de Visual Basic 6.0.

HeadFont

Objet DataGridViewCellStyle.

Remarque :

Les polices sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Objet Font pour les utilisateurs de Visual Basic 6.0.

HeadLines

Pas d'équivalent direct. Utilisez la propriété WrapMode de l'objet DataGridViewCellStyle, combinée à ColumnHeadersHeight.

Height

Height, hérité de la classe Control.

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

HelpContextID

Nouvelle implémentation. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0.

hWnd

Handle

hWndEditor

Nouvelle implémentation. Utilisez Handle.

Index

Nouvelle implémentation. Pour plus d'informations, consultez Tableaux de contrôles pour les utilisateurs de Visual Basic 6.0.

Left

Left, hérité de la classe Control.

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

LeftCol

FirstDisplayedScrollingColumnIndex

MarqueeStyle

Pas d'équivalent direct. Utilisez les propriétés SelectionMode, CellBorderStyle et Format.

RecordSelectors

RowHeadersVisible

Row

SelectedRows

RowDividerStyle

Propriétés GridColor, CellBorderStyle, RowHeadersBorderStyle et ColumnHeadersBorderStyle.

RowHeight

Height

SelBookmarks

Nouvelle implémentation. Vous pouvez désormais accéder directement à tous les éléments.

SelEndCol

SelStartCol

SelectedCells, SelectedColumns

SelLength

Pas d'équivalent direct. Utilisez la propriété SelectionLength dans le gestionnaire d'événements EditingControlShowing.

SelStart

Pas d'équivalent direct. Utilisez la propriété SelectionStart dans le gestionnaire d'événements EditingControlShowing.

SelText

Pas d'équivalent direct. Utilisez la propriété SelectedText dans le gestionnaire d'événements EditingControlShowing.

Split

Splits

TabAcrossSplits

Nouvelle implémentation. Les affichages fractionnés ne sont pas directement pris en charge ; utilisez un contrôle SplitContainer.

TabAction

StandardTab

Tag

Nouvelle implémentation.

Text

CurrentCell.Value

Remarque :

La propriété Value retourne un Object ; utilisez CStr ou ToString pour le convertir en un String.

ToolTipText

Composant ToolTip

Pour plus d'informations, consultez Prise en charge des info-bulles pour les utilisateurs de Visual Basic 6.0.

Top

Top

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

VisibleCols

Méthode DisplayedColumnCount.

Remarque :

Dans Visual Basic 6.0, les colonnes partiellement visibles sont systématiquement incluses dans le compte ; la méthode DisplayedColumnCount utilise un paramètre includePartialColumns de type Boolean pour déterminer si les colonnes partiellement visibles sont incluses ou non.

VisibleRows

Méthode DisplayedRowCount.

Remarque :

Dans Visual Basic 6.0, les lignes partiellement visibles sont systématiquement incluses dans le compte ; la méthode DisplayedRowCount utilise un paramètre includePartialRows de type Boolean pour déterminer si les lignes partiellement visibles sont incluses ou non.

WhatsThisHelpID

Nouvelle implémentation. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0.

Width

Width, hérité de la classe Control.

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

WrapCellPointer

Cette propriété n'est plus ajustable ; le comportement par défaut est WrapCellPointer = True.

Méthodes

Visual Basic 6.0

Équivalent Visual Basic 2005

CaptureImage

Nouvelle implémentation. La capture du contenu d'un contrôle DataGridView dans un contrôle PictureBox n'est pas prise en charge.

ClearFields

Nouvelle implémentation. La mise en forme de colonne est automatique en cas de renouvellement de liaison.

ClearSelCols

ClearSelection

ColContaining

IndexOf (DataGridViewColumnCollection)

Drag

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0.

GetBookmark

Nouvelle implémentation. Les signets ne sont plus pris en charge.

HoldFields

Nouvelle implémentation. La mise en forme de colonne est conservée en cas de renouvellement de liaison.

Move

SetBounds, hérité de la classe Control.

Remarque :

Les coordonnées sont gérées différemment dans Visual Basic 2008. Pour plus d'informations, consultez Système de coordonnées pour les utilisateurs de Visual Basic 6.0.

Rebind

ResetBindings, hérité de la classe Control.

RowBookmark

Nouvelle implémentation. Les signets ne sont plus pris en charge.

RowContaining

IndexOf (DataGridViewColumnCollection)

RowTop

GetContentBounds (DataGridViewCell)

Scroll

Nouvelle méthode d'implémentation. Utilisez la propriété CurrentCell.

SetFocus

Focus

ShowWhatsThis

Nouvelle implémentation. Pour plus d'informations, consultez Prise en charge de l'aide pour les utilisateurs de Visual Basic 6.0.

SplitContaining

Nouvelle implémentation. Les affichages fractionnés ne sont pas directement pris en charge ; utilisez un contrôle SplitContainer.

ZOrder

Fonctions BringToFront() ou SendToBack()

Événements

Visual Basic 6.0

Équivalent Visual Basic 2005

AfterColEdit

CellEndEdit

AfterColUpdate

AfterDelete

Nouvelle implémentation. Les opérations sur les données sont gérées dans la source de données. Pour plus d'informations, consultez Affichage des données dans le contrôle DataGridView Windows Forms.

AfterUpdate

RowsAdded

BeforeColEdit

CellBeginEdit

BeforeColUpdate

BeforeDelete

BeforeInsert

BeforeUpdate

Nouvelle implémentation. Les opérations sur les données sont gérées dans la source de données. Pour plus d'informations, consultez Affichage des données dans le contrôle DataGridView Windows Forms.

ButtonClick

Click (contrôle Button)

Change

TextChanged

Remarque :

Le comportement de l'événement TextChanged est légèrement différent. Pour plus d'informations, consultez Événement Change du contrôle ComboBox pour les utilisateurs de Visual Basic 6.0.

Click

SelectedIndexChanged

ColEdit

CellBeginEdit

ColResize

ColumnWidthChanged

DblClick

CellMouseDoubleClick

DragDrop

DragOver

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0.

Error

DataError

HeadClick

ColumnHeaderMouseClick

MouseDown

CellMouseDown

MouseMove

CellMouseMove

MouseUp

CellMouseUp

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

Nouvelle implémentation. Pour plus d'informations, consultez Fonction de glisser-déplacer pour les utilisateurs de Visual Basic 6.0.

OnAddNew

RowsAdded

RowColChange

CurrentCellChanged

RowResize

RowHeightChanged

SelChange

SelectionChanged

SplitChange

Nouvelle implémentation. Les affichages fractionnés ne sont pas directement pris en charge ; utilisez un contrôle SplitContainer.

Validate

Validating

Mettre à niveau des remarques

Lorsqu'un projet Visual Basic 6.0 est mis à niveau vers Visual Basic 2008, l'événement Change du contrôle DataGrid est mappé à l'événement TextChanged du contrôle Visual Basic 2008DataGridView. Le comportement de l'événement TextChanged diffère de celui de l'événement Change ; cette différence peut produire des résultats imprévus dans votre code.

Tout code relatif à des méthodes ou des événements spécifiques à des données n'est pas mis à niveau. Des commentaires d'avertissement sont ajoutés au code et le code doit être supprimé ou modifié avant la compilation de l'application.

Voir aussi

Concepts

Résumé de la technologie du contrôle DataGridView (Windows Forms)

Ajouts dans les Windows Forms pour .NET Framework 2.0

Référence

Vue d'ensemble du contrôle DataGridView (Windows Forms)

Comparaison des contrôles et des objets programmables dans différents langages et dans différentes bibliothèques

Autres ressources

DataGridView, contrôle (Windows Forms)

Contrôles Windows Forms pour les utilisateurs de Visual Basic 6.0

Liaison de données Windows Forms