Developpez.com

Plus de 2 000 forums
et jusqu'à 5 000 nouveaux messages par jour

Developpez.com - Visual Basic 6
X

Choisissez d'abord la catégorieensuite la rubrique :


Configuration et exploitation d'un DataGrid avec Visual Basic 6.0

Date de publication : 21/09/2006

Par Cécile Muno (home)
 

Un "DataGrid" dans Visual Basic 6.0 est une grille qui permet d'afficher des données en provenance d'une base de données. Ce petit tutoriel vous permet d'exploiter cette grille pour vos affichages ainsi que pour la mise à jour de ces mêmes données.

I. Pourquoi un DataGrid ?
II. Les besoins de l'application
II-a. Création d'une base de données
II-b. Création de la base de l'application
III. Moduler l'affichage des données
III-a. Extraire les champs
III-b. Modifier l'affichage via le Designer
III-b-1. Onglet Général
III-b-2. Onglet Colonnes
III-b-3. Onglet Disposition


I. Pourquoi un DataGrid ?

Le DataGrid s'apparente à une grille (ou tableau) à deux axes (lignes et colonnes) et permet l'affichage ainsi que la mise à jour de données. La liaison avec une base de données est évidemment le but ultime de son utilisation.
Il existe d'autres grilles dans l'environnement de Visual Basic et chacunes ont leur particularité. J'apprécie le DataGrid dans le cas de base de données simples (pas de liaisons n à n ou 1 à n) pour sa simplicité de manipulation au niveau des mises à jour de données.
Vous pouvez avoir un aperçu de l'utilisation des autres grilles dans les cours suivants :

  • Recordset hiérarchique (relation un à plusieurs) avec le provider MSDataShape pour la mise en forme des données, sous SQL. DataGrid pour l'affichade d'enregistrements enfants
  • La relation un à plusieurs avec la MSHFlexGrid et DataGrid pour affichage
Le DataGrid y est aussi abordé mais les cours sont surtout axés sur les liaisons avec les recordsets ADO ou DAO. Pour une vue d'ensemble des cours Visual Basic, je vous enjoins à consulter la page des tutoriels et cours de programmation.

Je vous propose donc de faire un petit tour d'horizon des possibilités de base de cette grille ainsi que de la manière de modifier ses propriétés d'affichage via le Designer de Visual Basic.


II. Les besoins de l'application


II-a. Création d'une base de données

Puisque nous allons travailler sur notre DataGrid afin d'afficher et de mettre à jour des données, il faut bien évidemment avoir une base de données à manipuler.
La première étape consiste donc à créer une base Access nommée "Contacts" ayant une table "Adresses" structurée comme suit :

L'exemple que nous allons exploiter est une simple base de données d'adresses personnelles ou professionnelles, comme vous le désirez. Ne créez pas vous-même la base de données, elle est fournie avec l'application.
Je ne m'arrête pas ici aux détails divers, ce n'est pas le but du tutoriel de créer une ressource complète et structurée au niveau des champs.


II-b. Création de la base de l'application

Ouvrez un nouveau projet Visual Basic 6.0 et cochez les références suivantes :

Vous avez maintenant accès, dans votre boite à outil, aux contrôles ADODC et DATAGRID. Placez ces deux contrôles sur votre feuille.
Vous pouvez travaillez avec un recordset ADODB si vous préférez, le but ici n'est pas d'expliquer les connexions aux bases de données. L'ADODC nous convient donc parfaitement.
Créez votre connexion à la base de données "Contacts" via adodc1. Vous devez avoir un adodc1 avec les propriétés suivantes lorsque votre connexion est réalisée :

Nom de la propriété Valeur
ConnectionString Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\datagrid\database\Contacts.mdb;Persist Security Info=False
Visible False


Nommez votre DataGrid : DTGAdresses


III. Moduler l'affichage des données


III-a. Extraire les champs

Votre grille étant sensée afficher des données provenant de divers champs de la base de données, il est normal que ceux-ci viennent remplir les "cases" du DataGrid.
Pour cela, sélectionnez votre DTGAdresses puis cliquez avec le bouton droit de la souris. Vous allez obtenir un menu contextuel de ce style :


Dans ce menu, sélectionnez "Extraire les champs", répondez "oui" lorsque le message suivant apparait :


et vous allez obtenir (si la connexion est bien réalisée), une grille comme celle-ci :


Vous avez bien en entêtes, le nom des champs de votre base de données dans l'ordre où ils se trouvent dans celle-ci. Evidemment, ce genre d'affichage n'est pas vraiment très esthétique.


III-b. Modifier l'affichage via le Designer

Il est assez aisé de changer l'affichage via le Designer de Visual Basic. Par exemple, afficher le champ NoRef, qui est la clé primaire de la table est totalement inutile.
Voyons comment supprimer l'affichage d'un champ, sans pour autant perdre sa référence dans la base de données.

Toujours en sélectionnant votre DTGAdresses et en cliquant sur le bouton de droite de la souris, choississez maintenant Propriétés.

Vous avez accès à la page de propriétés de votre grille présentée d'une manière bien plus aisée niveau utilisation.
Voici les onglets les plus importants pour la mise en page de votre affichage :

Propriétés générales


Vous retrouvez dans cet onglet les propriétés générales de la grille dont les permissions de mise à jour des données. Ici, elles sont toutes cochées afin de pouvoir mettre à jour la base de données de toutes les manières possibles.

Propriétés des champs (colonnes)


En déroulant le combo, vous remarquez que vous avez accès à tous les champs de votre base de données. Le textbox Caption vous permet de renommer l'entête de colonne et le textbox DataField indique bien à quel champ on est lié.

Propriétés de mise en page (Disposition)


Les composants de cet onglet vous permettent d'affiner l'affichage de chaque champ (colonne) de votre grille.

Voyons maintenant ce que font réellement ces propriétés.


III-b-1. Onglet Général

Les plus importantes dans cet onglet sont les permissions au niveau des données. Pour les autres, amusez-vous à les modifier et faites Appliquer pour voir le changement survenu.

Nom de la propriété Activée
AllowAddNew Permet l'ajout dans votre base de données.
AllowDelete Permet la suppression d'enregistrements
AllowUpdate Permet la mise à jour des valeurs dans les champs

III-b-2. Onglet Colonnes

Permet essentiellement de modifier les entêtes de colonnes qui, par défaut, sont le nom des champs de la table.
Prenez la colonne Nom et tapez Nom et prénom dans le textbox 'Caption'. Faites Appliquer et voyez de quelle manière l'entête de colonne s'est modifier.


III-b-3. Onglet Disposition

Pour moi, l'onglet le plus utile pour l'aspect de la grille. Les propriétés sont importantes aussi bien pour l'affichage que pour la possibilité de bloquer les colonnes auxquelles on ne peut pas toucher même si AllowUpdate est activé.

Nom de la propriété Activée
Locked Permet de bloquer la colonne choisie
AllowSizing Autorise l'utilisateur à redimensionner la colonne
Visible Laisse la colonne visible dans la grille
WrapText Autorise le passage à la ligne si le texte est trop grand pour la largeur définie de la colonne
Button Place un bouton dans la case concernée
Width Définit la largeur de la colonne


Les propriétés DividerStyle et Alignment sont assez explicites d'elles mêmes. Quand au Split, il est lié à l'onglet Fractionnement dont je ne parle pas maintenant.

Utilisez les propriétés des onglets Format, Police et Couleur pour affiner votre mise en page.

Mettez votre grille en forme grâce à ces onglets et essayez d'obtenir un affichage comme suit :

Par contre, le DataGrid n'affiche pas correctement les liens hypertext comme ceux du champs "Site", cette possibilité n'étant pas offerte dans les anciennes versions des bases de données. De même, aucune instruction n'existe pour centrer les titres des colonnes, hélas.



Valid XHTML 1.1!Valid CSS!

Les sources présentés sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2006 Cécile MUNO (Khany). Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts.
Contacter le responsable de la rubrique Visual Basic 6