Les objets d'en-tête de la Lisboxt ne réagissent pas

Bonjour,

Je construit une listbox par programmation ; l’insertion des colonnes fonctionne, mais les titres ne sont pas fixés :
<code 4D>
LISTBOX INSERT COLUMN FORMULA(;“dataclassAttributes”;$column_l;“C_”+$attributeName_t;“This.”+$attributeName_t;Is boolean;“H_”+$attributeName_t;$nil_p)
OBJECT SET TITLE(
;“C_”+$attributeName_t;$attributeName_t)
LISTBOX SET COLUMN WIDTH(*;“C_”+$attributeName_t;$width_l)

</code 4D>

Ce même code utilisé à un autre endroit fonctionne parfaitement.
LISTBOX GET OBJECTS(*;“dataclassAttributes”;$objectNames_ta) me renvoie les noms utilisés.

Une idée pour résoudre ce dysfonctionnement ?

Bonjour Bernard,

à tout hasard, êtes-vous tout à fait sûr de l’unicité de votre nom de colonne ? (“C_”+$attributeName_t) ?

N’y aurait-il pas ailleurs (y compris sur une autre page) une autre listbox avec une colonne portant déjà ce nom ? ou une colonne cachée ?

Apres sa création, utilisez (temporairement) “LISTBOX GET ARRAYS” pour récupérer les noms de colonnes (3eme param) pour vous en assurer.

Cordialement,
Roland Lannuzel

: Roland LANNUZEL

Apres sa création, utilisez (temporairement) “LISTBOX GET ARRAYS”
pour récupérer les noms de colonnes (3eme param) pour vous en assurer.
Pourquoi “temporairement” et pas plutôt LISTBOX GET OBJECTS ?

Le temps du débug…

LISTBOX GET OBJECTS marche aussi bien sur (mais perso j’aime pas cette commande :slight_smile:

Roland

Ha, marrant, moi c’est “l’ancienne” que je n’aime plus. Je peux te demander pourquoi ?

C’est juste l’enchevêtrement colonne-entête-pied-colonne-entête-pied-colonne-entête-pied-… que je trouve déplaisant.

J’aurais préféré un sélecteur en plus, mais bon, chacun ses goûts :slight_smile:

Ha, oui, certes. Je me suis habitué aux grandes enjambées :

LISTBOX GET OBJECTS(;“maListbox”;$nom_at) //column1, header1, footer1, column2, header2, etc.
For ($i_l;3;Size of array($nom_at);3)
$column:=OBJECT Get title(
;$nom_at{$i_l-2})
$header:=OBJECT Get title(;$nom_at{$i_l-1})
$footer:=OBJECT Get title(
;$nom_at{$i_l})

le genre de trucs où je me plante avec une régularité confondante (l’offset m’a tuer, me tue et me tuera…), mais je préfère ça à l’autre qui m’oblige à déclarer une tartine de tableaux.

Merci !

Oui je suis sûr de l’unicité, car à un moment je relançais l’insertion avec un nom existant et j’avais un message d’avertissement.
Vu la méthode de création des colonnes :
<code 4D>
LISTBOX DELETE COLUMN(*;“dataclassAttributes”;1;$columnCount_l)

				$attributeName_t:="name"
				$column_l:=$column_l+1
				$width_l:=150
				LISTBOX INSERT COLUMN FORMULA(*;"dataclassAttributes";$column_l;"C_"+$attributeName_t;"This."+$attributeName_t;Is text;"H_"+$attributeName_t;$nil_p)
				OBJECT SET TITLE(*;"C_"+$attributeName_t;$attributeName_t)
				LISTBOX SET COLUMN WIDTH(*;"C_"+$attributeName_t;$width_l)
				
				$attributeName_t:="fieldNumber"
				$column_l:=$column_l+1
				$width_l:=40
				LISTBOX INSERT COLUMN FORMULA(*;"dataclassAttributes";$column_l;"C_"+$attributeName_t;"This."+$attributeName_t;Is real;"H_"+$attributeName_t;$nil_p)
				OBJECT SET TITLE(*;"C_"+$attributeName_t;$attributeName_t)
				LISTBOX SET COLUMN WIDTH(*;"C_"+$attributeName_t;$width_l)


</code 4D>
les noms sont forcément uniques.
J’ai rajouté un LISTBOX GET ARRAYS quei me raconte la même chose que LISTBOX GET OBJECTS.
Je sèche, vivement qu’on ait des commandes avec retour explicite en mode objet !

Une dernière réflexion et je trouve : je cherchais à fixer le titre de l’en-tête avec le nom de l’objet colonne ; quel âne…
Merci de votre aide.

: Bernard ESCAICH

quel âne…
Pour ma peine, je ferai 3 fois le tour du pâté de maisons, puisque je ne peux pas aller à genoux jusqu’au Pecq !