Trucs et astuces pour Coldfusion MX 7 par Serge Rappaille

Trucs et astuces pour Coldfusion MX 7

Présentation

Ce blog n'a pour seule prétention que de vous offrir mes différentes découvertes sur Coldfusion MX 7, tantôt des solutions, tantôt des petits soucis qui resteront aussi énigmatiques que le sourire de la Joconde. Je souhaite seulement que certains articles vous feront gagner du temps.

Bonne lecture,

Serge Rappaille

Forum Coldfusion

Souscrivez à notre forum francophone sur Google Groups Bêta.
Votre adresse email :


lundi 13 août 2007

CFforum.eu : Projet de communauté Coldfusion (fr)

Voici la première pierre d'un projet trop longtemps retardé. Pour le moment ce n'est
pas très beau mais fonctionnel. Le CSS ne va pas tarder à évoluer.

Bref, je vous donne rendez-vous sur http://www.cfforum.eu

Je vous y attend nombreux (en particulier dans la rubrique Who's who).

Coldfusionnement vôtre,

Serge

samedi 11 août 2007

Lier un CFSELECT à un CFGRID

Imaginons (car taper tout le code est inutile) que vous affichiez une liste de personnes dans un CFGRID et que, lorsque vous sélectionnez une ligne, vous affichez toutes les coordonnées de votre sélection dans un formulaire. Le tout, dans un un CFFORM au format Flash (FlashForm donc).

Pour lier un champ "Text" à votre grille (et vice-versa), c'est assez simple et même documenté. Cela donne quelque chose du genre :

<cfinput type="text" name="FIRSTNAME" label="Prénom :" message="Prénom obligatoire" required="yes" bind="{myGrid.dataProvider[myGrid.selectedIndex]['FIRSTNAME']}" onChange="myGrid.dataProvider.editField(myGrid.selectedIndex, 'FIRSTNAME', FIRSTNAME.text);" validateat="onsubmit">

Jusque là, tout va bien. Jusqu'au moment où vous souhaitez ajouter une liste déroulante (CFSELECT), sélectionnée par défaut en fonction du contenu du CFGRID et qui, une fois utilisée, met à jour la valeur dans le CFGRID. Vous testez en vous inspirant du CFINPUT, vous lisez la documentation, vous cherchez sur le web, difficile de trouver l'info recherchée.

Pourtant, vous aviez déjà trouvé la première pièce du puzzle avec la syntaxe suivante :

<cfselect name="GENDER" label="Genre :" onchange="myGrid.dataProvider.editField(myGrid.selectedIndex, 'GENDER', GENDER.selectedItem.data);">

<option value="M">Masculin</OPTION>
<option value="F">Féminin</OPTION>
</cfselect>

Seulement, cela ne suffit pas. Si vous sélectionnez une ligne du CFGRID, vous constatez que les CFSELECT ne se positionnent pas sur les valeurs décrites par le CFGRID. Le lien entre ses deux composants ne fonctionne que dans un sens. Du moins pour le moment.

Reprenons le CFGRID et ajoutons une petite fonction pour tout changement d' état (propriété onChange). Pour mémoire, sélectionner une ligne change son état :

<cfgrid name="myGrid" height="360" query="lstUsers" appendkey="yes" griddataalign="left" gridlines="yes" rowheaderalign="left" colheaderalign="left" selectmode="edit" enabled="yes" visible="yes" format="flash" autowidth="true" rowheaders="no" onchange="#majDeroulants#">

Et plaçons cette dernière au début de notre page :

<cfsavecontent variable="majDeroulants">

for (var i:Number = 0; i<GENDER.length; i++) {if (GENDER.getItemAt([i]).data == myGrid.selectedItem.GENDER) GENDER.selectedIndex = i};
</cfsavecontent>

Voilà, cela fonctionne à présent. Que vous sélectionnez une ligne ou modifiez un liste déroulante, les deux composants sont à présent synchrones.

A bientôt !



lundi 6 août 2007

Migration CFMX 7 vers Coldfusion 8

Rien à redire. J'installe Coldfusion 8 sur mon nouveau serveur Web, je copie/colle Livado.be et Podcast-Player.com , stocke mes variables clients dans une DB toute neuve (les tables sont créées automatiquement), réinstalle verity search, relance mes indexations avant de redémarrer le service. Et bien devenez quoi ? Pas un seul message d'erreur à l'écran.

Première constation, les pilotes MySQL 4 et 5 fonctionnent parfaitement. Quant à ceux qui utilisent SQL Server 2005, la bidouille fonctionne toujours (cf. sqljdbc.jar dans le répertoire Bin de Coldfusion).

Je peux donc explorer les nouvelles fonctionnalités en toute quiétude. A bientôt pout la suite de mes découvertes !

Recherche programmeur Coldfusion

Rubrique temporairement fermée.