PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → Table sur source et objet dynamique
Table sur source et objet dynamique
Iniciado por Hacyrak, 21,sep. 2021 15:47 - 9 respuestas
Publicado el 21,septiembre 2021 - 15:47
Bonjour,

J'aimerai remplir une table sur source par programmation (gérer le nombre de colonne + la liaison à la source).
Ma colonne NOM apparait bien mais je n'est aucune données dans la table.

Déclarations globales :
gtabObj est un tableau dynamique d'objet (ma Source)

Procedure init(sClasse est une chaîne) :
o est un objet dynamique = allouer un sClasse
gtabObj = o:getAll() //parcours de gtabObj OK j'ai bien mes informations

SELON sClasse
CAS CGenerale.MACLASSE
NoColonne est un entier
NoColonne = TABLE_ListeObj..NombreColonne + 1

newCh est un Champ <- ChampClone(TABLE_ListeObj.COL_Obj, "Colonne" + NoColonne, ...
TABLE_ListeObj..NombreColonne + 1 )
Trace(newCh..Nom)
newCh..Libellé = "NOM"
newCh..LiaisonFichier = "gtabListeObj.p_sNom"
Trace(newCh..LiaisonFichier)
AUTRE CAS

FIN
TableAffiche(TABLE_ListeObj) //Je n'ai pas les infos mais la colonne est bien créer
Miembro registrado
287 mensajes
Popularité : +51 (79 votes)
Publicado el 21,septiembre 2021 - 16:37
newCh..LiaisonFichier = "gtabListeObj.p_sNom"


Essaye plutôt
newCh..LiaisonFichier = "p_sNom"


--
667, EKIP EKIP
Publicado el 21,septiembre 2021 - 16:42
Merci mais aucune des solutions suivante ne fonctionne :

newCh..LiaisonFichier = "gtabListeObj.p_sNom"

OU
newCh..LiaisonFichier = ":gtabListeObj.p_sNom"

OU
newCh..LiaisonFichier = "p_sNom"

OU
newCh..LiaisonFichier = ":p_sNom"
Miembro registrado
287 mensajes
Popularité : +51 (79 votes)
Publicado el 21,septiembre 2021 - 17:35
J'ai du mal à lire ton code, gtabListeObj sort d'ou ?

Je suis sur que le code newCh..LiaisonFichier = ":gtabListeObj.p_sNom" Devrai marcher vérifie bien le nom de l'objet

--
667, EKIP EKIP
Publicado el 22,septiembre 2021 - 09:59
Pardon petit soucis dans la recopie du code dans mon premier post :
ma variable gtabListeObj est la bonne (et non gtabObj) elle est correcte partout dans mon code mais cela ne fonctionne pas.

Par contre je travail sur un modèle de champs peut être le problème vient de là.
Miembro registrado
287 mensajes
Popularité : +51 (79 votes)
Publicado el 22,septiembre 2021 - 10:40
Et ta variable gtabListeObj se situe ou dans le code ? c'est important la portée

--
667, EKIP EKIP
Publicado el 22,septiembre 2021 - 10:47
Cette variable est une variable globale au modèle.
Si je test :
gtabListeObj est un tableau de MVehicule

Au lieu de :
gtabListeObj est un tableau d'objet dynamique

Cela fonctionne parfaitement. Le problème est donc la liaison avec un tableau d'objet dynamique.
Miembro registrado
287 mensajes
Popularité : +51 (79 votes)
Publicado el 22,septiembre 2021 - 11:26
> Cela fonctionne parfaitement. Le problème est donc la liaison avec un tableau d'objet dynamique.

ça tient la route étant donné qu'on ne peut pas lié une table à un tableau d'objet dynamique à partir de l'onglet contenu de la table

--
667, EKIP EKIP
Publicado el 22,septiembre 2021 - 11:28
Oui j'ai trouvé pour mon problème :
Ne pas utiliser un tableau d'objet dynamique mais un simple tableau dynamique.
Cela fonctionne alors parfaitement. La liaison s'effectue correctement.
Miembro registrado
287 mensajes
Popularité : +51 (79 votes)
Publicado el 22,septiembre 2021 - 11:37
Carré

--
667, EKIP EKIP