Tableau ordes des collones

Résolu
cs_Don Pietro Messages postés 4 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007 - 19 juil. 2007 à 11:20
cs_Don Pietro Messages postés 4 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007 - 19 juil. 2007 à 12:51
Hello,

On ma confier un projet pour lequel je dois améliorer un programme fait en vb6. Ce programme utilise un tableau graphique (mshflexgrid) avec pleins de colonne et de ligne.

Afin de faciliter la vie aux utilisateurs je dois rajouter des colonnes et en cacher d'autres. Jusque là tout va bien :).

Le problème c'est que c'est colonne que je dois rajouter, ne vont pas tout a droite du tableau et qu'il n'y a pas de contolleur patern (donc le gui est directement lier au code).

Donc si je rajoute une colonne a la 4ème position depuis la gauche, en décalant les autres, tous le code sera faux.

Exemple d'un bout de code :

.col = 1
tempx = .text
.col = 0
tempalpha = .text
.Row = .Row + 1
If Mid(.text, Len(.text), 1) <> ")" Then
angle = .text - tempalpha
Else


Ma question :

Est t'il possible de rajouter des colonne en leur indiquant une position graphique dans le tableau et ce sans qu'il y ait un impact sur le code (ex : afficher .col = 12 à la 4ème position depuis la gauche) ????


Merci d'avance

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 juil. 2007 à 11:33
Pas à ma connaissance !

De toute façon, il est toujours imprudent d'utiliser des index en dur dans son code : le mieux c'est de faire une constante et de l'utiliser partout (et uniquement la constante), par exemple :
private Const COLONNE_NOM As Integer = 2

.col = COLONNE_NOM

Ainsi si tu modifier l'ordre de tes colonnes, tu n'as plus qu'à modifier la valeur de LA constante, et non de tout le code !
3
cs_Don Pietro Messages postés 4 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 11:25
Ne trouvant pas comment éditer (je repost avec une belle indentation)

Hello, On ma confier un projet pour lequel je dois améliorer un
programme fait en vb6. Ce programme utilise un tableau graphique
(mshflexgrid) avec pleins de colonne et de ligne.

Afin de faciliter la
vie aux utilisateurs je dois rajouter des colonnes et en cacher
d'autres. Jusque là tout va bien :).
Le problème c'est que c'est
colonne que je dois rajouter, ne vont pas tout a droite du tableau et
qu'il n'y a pas de contolleur patern (le gui est directement lier
au code).

Donc si je rajoute une colonne a la 4ème position depuis la
gauche, en décalant les autres, tout le code sera faux.

Exemple d'un
bout de code :
                .col = 1
                tempx = .text
                .col = 0 temp
                alpha = .text
                .Row =
.Row + 1
                If Mid(.text, Len(.text), 1) <> ")" Then
                    angle = .text -
tempalpha
                Else
                ....

Ma question :

Est t'il possible de rajouter des colonnes
en leur indiquant une position graphique dans le tableau et ce sans
qu'il y ait un impact sur le code (ex : afficher .col = 12 à la 4ème
position depuis la gauche) ???? Merci d'avance
0
cs_Don Pietro Messages postés 4 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 11:37
Oui soit ca soit faire une abstraction du code et du gui (comme ca ce fait en java).

Mais malheureusement ce n'est pas moi qui ait coder cette partie et modifier le code prendrais trop de temps. Qui plus est ca ralenti toutes l'application puisque les tableau graphique de vb sont lent, très lent ^^.

J'ai pensée à une solution mais elle me plait pas : Refaire un tableau par dessus qui copie l'autre.

Mais ca va encore plus ralentir l'application :S
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 juil. 2007 à 11:57
Lol, en effet le flexgrid n'est pas très rapide !

Mais tout dépend comment tu le remplit : si tu le remplit par une base de données, oublie tout de suite le Flexgrid, et remplace le par un SCgrid : contrôle téléchargeable gratuitement sur le net. Il combine les avantages du flexgrid niveau présentation et accès direct aux données, et du datagrid (binding avec un recordset, chargement ultra rapide des données.

Et du coup; quitte à devoir changer de contrôle, revoit un peu l'archi du prog.

De toute manière, un prog avec des données en dur dedans (comme c'est le cas apparement), c'est foireux, et ca te retombe toujours dessus un jour ou l'autre (la preuve), donc il vaut mieux perdre un peu de temps à faire des constantes plutôt que de persévérer avec un code qui deviendra de moins en moins maintenable au fil du temps !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Don Pietro Messages postés 4 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 12:51
C'est pas faut je vais voir ca ^^.

Merci pour tes conseils
0
Rejoignez-nous