Heriarchical DataGridView

Soyez le premier à donner votre avis sur cette source.

Vue 255 fois - Téléchargée 21 fois

Description

Bonjour,

Un petit exercice de style à base de datgridview
pour retrouver quelque chose de similaire à la bonne vielle hierachical grid de VB6

Utilisant les nouvelles possibilités du dotnet, notament la classe component
pour créer un composant utilisable dans les projets .Net (VB, C# ,...) de tout type.
Le même projet est disponible en C#.

Cette grille hiérachique permet de visualiser des grilles provenant des requètes
de tables de très grandes tailles,
, en effet seules les données affichées sont chargées,
par défaut, les lignes 'hierachiques' sont repliées (donc non chargées).

Ce controle/class utilisateur est un héritage de Datagridview
avec toutes les options de conceptions activées
(propriétés personnalisées via ComponentModel)
et les ressources (via globalisation) de language activées (ENG/FR).

Cette grille hiérachique (datagridview) est remplie par une requête Sql Maitre
et Une (ou plusieurs) requête(s) SQL de détail (D.S.R.).
L'utilisateur peut étendre ou réduire chaque ligne de la requête SQL (maitre
puis de détail)
sauf celles du dernière détail (D.D.S.R),
en cliquant sur une image d'un dossier inclus dans une colonne (une par D.S.R.).

Les Sql Maitre et détail sont stockées dans les items de la collection 'tables'
elles sont non typées et peuvent être choisies parmis un liste de types de connexion.

Chaque Table hormis D.D.S.R. doit fournir au moins un nom de champ
dans un item de l'item d'index correspondant de la collection 'machtables'
( le ou les champs pivots permettant l'accès au détail de la table d'index +1.
Chaque D.S.R (index) doit avoir au moins un paramètre qui correspond à un nom de champ
(field de macthtable) de la table d'index -1 (moins un).

Lorsque l'utilisateur cliquera pour voir le détail,
les paramètres de la D.S.R. seront remplis par les valeurs des noms de champs pivots
(macthtable) de la ligne à étendre.
La syntaxe des paramètres (? ou @) dans les Sql ,
dépends de la valeur de la propriété provider.

Enfin une Sql optionnelle permet de remplir de façon asynchrone les images des boutons
de la requête maitre (<>0 pour dossier fermé).

Ce controle utilise des datareaders pour extraire sur demande de l'utilisateur
les données, aussi l'usage des propriétes Datasource, DataBinding, Dataadapter,..
est déconseillé.

Le zip comprend une winform d'essais pour permettre d'ajouter ce controle utilisateur
et de faire vos tests ou prise en main.

Bonne utilisation

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de chpatiss

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.