begin process at 2010 02 10 00:15:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Modules

 > CCOOLFLEX : FLEXGRID EDITABLE

CCOOLFLEX : FLEXGRID EDITABLE


 Information sur la source

Note :
9,09 / 10 - par 11 personnes
9,09 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Modules Niveau :Débutant Date de création :26/09/2004 Date de mise à jour :27/09/2004 12:53:04 Vu / téléchargé :10 352 / 2 051

Auteur : jpthomasset

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
cCoolFlex est une classe permettant de rendre editable un flexgrid. Le principal avantage est qu'il permet de rendre éditable un flexgrid avec tres peu de modification, en plus vous avez le choix du mode d'edition pour chaque cellule :
- CELLEDIT_NONE : Pas d'edition possible
- CELLEDIT_TEXT : Edition avec un textbox
- CELLEDIT_LIST : Affichage d'une liste de choix
- CELLEDIT_YESNO : Champ Oui/Non
- CELLEDIT_NUMBER : Controle la saisie pour avoir un nombre
- CELLEDIT_DATE : Controle la saisie pour avoir une date (MaskEdit)


 Conclusion

Pour l'utiliser, vous devez
- Ajouter un controle MSHFlexGrid dans votre formulaire,
- Ajouter une réference de "Microsoft MaskEdit" (Attention si vous n'utilisez pas le maskedit dans votre application, il faut décocher l'option "Supprimer les informations relatives aux controles activex inutilisés" dans les propriétés du projet)
- Inclure le fichier cCoolFlex.cls
- Ajouter un instance (WithEvents) de cCoolFlex.
- Dans le chargement de la fenetre, vous appelez la méthode extend de cCoolFlex avec en parametre votre FlexGrid.
- Ensuite il suffit de répondre aux evenement de l'instance de cCoolFlex

Il y a un exemple dans le zip, et le code est documenté en partie.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

26 septembre 2004 11:29:13 :
Note sur la référence vers MaskEdit
27 septembre 2004 12:53:04 :
Gestion des nombres négatifs : cela reste encore à améliorer, mais c'est un début. (Merci à Drissou)

 Sources du même auteur

Source avec Zip Source avec une capture INNO SETUP WIZARD : ADDIN VB POUR GENERER DES SCRIPT ISS
Source avec Zip REDIRECT : PERMET D'EXECUTER UN PROGRAMME DOS INTERACTIF
Source avec Zip Source avec une capture SPLITTIX : SPLITTER DE FENETRE

 Sources de la même categorie

GÉNÉRATEUR DE MAIL LOTUS NOTES AVEC MISE EN FORME VIA UNE SY... par 8Tnerolf8
Source avec Zip Source avec une capture VB6 ADDIN - FAITES DISPARAITRE LES MSGBOX D'ERREUR IDE par EBArtSoft
MODULE DE COMMUNICATION ENTRE APPLICATION par PROTEUS91
REGISTRE WINDOWS par Duke49
Source avec Zip Source avec une capture LECTURE / ÉCRITURE SUR LE PORT PARALLÈLE FACILEMENT AVEC INP... par Moritus

Commentaires et avis

Commentaire de frop01 le 26/09/2004 11:20:35

Coool Flexgrid ;)

Commentaire de drissou le 27/09/2004 11:23:21

Oui super classe.
Pourrais tu "améliorer" la classe en permettant par exemple dans la saisie des nombres la possibilité de mettre un nombre négatif..;o)

je vais d'ores et déjà m'en servir et si j'y arrive je te proposerai une modif pour les nombres négatifs et pourquoi pas un nombre fixe de chiffres après la virgule

Drissou

Commentaire de jpthomasset le 27/09/2004 12:28:23

Effectivement, je pensais le gerer mais je me rend compte que ca ne marche pas.
En fait j'autorise le '-', mais le probleme est que si l'on tape ce caractere, Isnumeric renvoit faut (ben oui, c'est juste un caracter).
Je vais faire la modif et le reposter.

A+ et merci pour le feedback,
JP.

Commentaire de drissou le 27/09/2004 12:43:35

Pour ma part, avant de voir IsNuméric, j'avais géré cette virgule (+ prévoir éventuellement la conversion du point en virgule) et en plus je gérai le fait qu'on ne pouvait pas mettre 2 virgules dans le champ. Plus Gestion des chiffres après la virgule..

on s'amuse mais c'est sympa après..
En tout cas je ne savais pas comment gérer cela avec un control ou autre mais là c'est sympa.

Autre question peut on par exemple définir à l'avance c'est à dire charger à l'avance différentes listes ou il faut au fur et à mesure charger et décharger la liste utilisée ,
Car sur des grosses listes, peut être un peu plus lent..

Drissou

Commentaire de jpthomasset le 27/09/2004 12:58:38

Pour l'instant, non on ne peux pas charger de liste prédefini.
Je pourrai peut-etre modifier ma fonction AddItem afin de prendre en parametre une collection au lieu d'ajouter tout les elements 1 par 1.
Mais le probleme de lenteur va persister car la combo box est crée dynamiquement et il faut lui ajouter à chaque fois la liste des elements à afficher.

En plus, si il y a vraiment une liste très longue, il vaut peut-etre mieux le gerer autrement qu'avec une listbox : peut-etre en désactivant l'edition sur la céllule en question et en faisant un popup sur l'evenement click : ce popup permettant de faire une recherche...

A+,
JP.
PS : j'ai corrigé le code pour les nombre négatifs.

Commentaire de jack le 27/09/2004 20:01:05 administrateur CS

Salut jpthomasset
Il y avait longtemps qu'on n'avait vu de code aussi innovant, merci.
Très bien pensé et de bonnes astuces.

Commentaire de ydx35 le 16/11/2004 20:24:11

Bnjr,

Interessant cette classe ; je vais etudier, car j'ai du ecrire qq.ch. de proche, avec les nombres negatifs....
mais je ne gere pas de format specifique, et impossible chez moi de controler le nombre de decimales....
@+

PS a bientot pour des remarques....

Commentaire de KillerBeer le 24/12/2004 16:16:13

Bravo pour ce code bien pratique qui va m'être utile à double titre. D'abord en m'offrant un gain en temps de développement. Ensuite en permettant à l'amateur que je suis de mieux comprendre les modules de classe. C'est le double effet ... CoolFlex

Commentaire de phugon le 10/10/2007 10:32:48 10/10

Salut
Vraiment cool ta classe
rien a redire
tcho

Commentaire de odureux le 05/11/2007 22:27:48 10/10

Bonjour et félicitations pour cette classe très utile et parfaitement programmée : facile à comprendre, à intégrer et à modifier...

J'ai juste ajouté dans les paramètres de Extend deux autres paramètres permettant de donner la position (Left/Top) du flexgrid car quand celui ci est placé dans d'autres contrôles (frame, tab, ...) la formule basée sur Parent.left/top ne place pas les zones de modification au bon endroit.

Mais sinon j'ai été stupéfait que tout fonctionne dans mon appli si bien et si vite ! Je m'attendais à y passer beaucoup plus de temps... Merci !

Commentaire de odureux le 09/11/2007 22:06:49

J'ai ajouté aussi ces lignes de code dans [m_hfgGrid_Click >  Select Case iEditType > Case CELLEDIT_DATE et Case CELLEDIT_TEXT, CELLEDIT_NUMBER] pour avoir le même alignement dans le flex et la zone d'édition :

            Select Case m_hfgGrid.ColAlignment(m_hfgGrid.Col)
              Case flexAlignLeftTop, flexAlignLeftCenter, flexAlignLeftBottom
                m_txtEditBox.Alignment = vbLeftJustify
              Case flexAlignCenterTop, flexAlignCenterCenter, flexAlignCenterBottom
                m_txtEditBox.Alignment = vbCenter
              Case flexAlignRightTop, flexAlignRightCenter, flexAlignRightBottom
                m_txtEditBox.Alignment = vbRightJustify
            End Select

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales