PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → [WB15] webdev et ajax
[WB15] webdev et ajax
Débuté par Adi, 09 déc. 2010 16:31 - 12 réponses
Posté le 09 décembre 2010 - 16:31
Bonjour,
Pourriez-vous me dire comment devrai-je procéder pour afficher une cellule en mode ajax ?
Ce que je fais maintenant est que je compose ma page avec les éléments voulus. Dans le code navigateur, partie onload ou chargement, j’ajoute la propriété javascript JSPropriété("document.body", "scroll") = "no" pour supprimer l’ascenseur. Par la suite je dépose une cellule 4-5 cm en dessous de l’élément le plus bas de la page. Ainsi, quand la page est en exécution, la cellule ne se verra pas car pas d’ascenseur.
La cellule est invoquée en utilisant CelluleAfficheDialogue…et ça marche.
Seulement voilà, comment faire quand la page est vraiment trop chargée avec plein de composants et quand l’ascenseur est obligatoire ?

Merci pour vos conseils.

Bien à vous,

Adi
Posté le 09 décembre 2010 - 17:28
Bonjour Adi

dans les propriétés de la cellule, marque la comme invisible par défaut
(cellaffichedialogue la rendra visible) ET aussi comme repositionnable,
avec l'option qui permet de la repositionner en auto pour éviter les
ascenseur

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com/index_FR.html


On 09/12/2010 10:31, Adi wrote:
Bonjour,
Pourriez-vous me dire comment devrai-je procéder pour afficher une cellule en mode ajax ?
Ce que je fais maintenant est que je compose ma page avec les éléments voulus. Dans le code navigateur, partie onload ou chargement, j’ajoute la propriété javascript JSPropriété("document.body", "scroll") = "no" pour supprimer l’ascenseur. Par la suite je dépose une cellule 4-5 cm en dessous de l’élément le plus bas de la page. Ainsi, quand la page est en exécution, la cellule ne se verra pas car pas d’ascenseur.
La cellule est invoquée en utilisant CelluleAfficheDialogue…et ça marche.
Seulement voilà, comment faire quand la page est vraiment trop chargée avec plein de composants et quand l’ascenseur est obligatoire ?

Merci pour vos conseils.

Bien à vous,

Adi

Posté le 13 décembre 2010 - 18:49
Bonjour Fabrice et merci pour votre réponse,

en effet, je n'ai pas regardé dans ce sens, merci. J'ai fais ce que vous m'avez conseillé seulement quand je fais appel de CelluleAfficheDialogue(nomdialogue,celcentre) la cellule apparait et aussitôt disparait. Apparement cette fonction est utilisable que du côté du code navigateur alors que dans la cellule j'effectue un traitement serveur et du coup cela explique affichage/fermeture de la cellule.
Avez-vous une autre idée sur comment afficher une cellule qui présente un composant table qui contient le résultat d'une requete?

D'avance merci.

Bien à vous,

Adi
Membre enregistré
163 messages
Posté le 14 décembre 2010 - 10:34
Bonjour, met le bouton qui appel la cellule en mode ajax activé et dans le code serveur tu met ton traitement propre à ta requête et ta table, tu auras un avertissement dans ton code, mais ça fonctionne.
Posté le 14 décembre 2010 - 13:06
Bonjour et merci pour votre réponse,

j'ai activé ajax dans le code serveur du boutton, il y a en effet un avertissement avant l'execution que j'ignore. Quand je clique sur le boutton en question une exception se déclonche... ca ne marche donc pas.
Pourquoi en WebDev est si compliqué de mettre en place une exécution du "code serveur" qui en php, certe, demande un peu de codage mais est tout à fait faisable. Est-ce que je rate une épisode là? :-)

Ce que je souhaite obtenir comme resultat est: suite au click sur un boutton, afficher une cellule en mode ajax (gfi) qui contiendra un composant tableau dans lequel j'afficherai quelque noms en provenance d'une requete sql.

Je suis certain que c'est possible, il faut prendre comme exemple
http://exemples.webdev.info/WD140AWP/WD140Awp.exe/CONNECT/WW_Planning
mais pas d'exemple de code concret! Il y a juste "exemple didactique" sur WW_Assistant qui ne fait qu'afficher un assistant et tout se passe du côté du navigateur...

Bref, WebDev est-il "ajax ready" en seulement 2 clicks? :-)

Toute idée est plus que bienvenue!

D'avance merci.

Adi
Posté le 14 décembre 2010 - 16:26
Bonjour,

Le plus simple est de faire ton traitement serveur avant l'affichage de la page.
De telle sorte qu'il ne reste plus qu'à faire celluleaffichedialogue.

Sinon, tu peux utiliser la fonction AjaxExecute(Asynchrone) après ton appel à celluleaffichedialogue.

Bon dev'
Posté le 14 décembre 2010 - 16:27
Bonjour Adi

il faut bien sur enlever l'exécution du code serveur du bouton en
question, et le remplacer par un appel de type ajaxexecute du code
serveur, et récupérer les données et les traiter

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com/index_FR.html


On 13/12/2010 12:49, Adi wrote:
Bonjour Fabrice et merci pour votre réponse,

en effet, je n'ai pas regardé dans ce sens, merci. J'ai fais ce que vous m'avez conseillé seulement quand je fais appel de CelluleAfficheDialogue(nomdialogue,celcentre) la cellule apparait et aussitôt disparait. Apparement cette fonction est utilisable que du côté du code navigateur alors que dans la cellule j'effectue un traitement serveur et du coup cela explique affichage/fermeture de la cellule.
Avez-vous une autre idée sur comment afficher une cellule qui présente un composant table qui contient le résultat d'une requete?

D'avance merci.

Bien à vous,

Adi
Posté le 14 décembre 2010 - 19:05
Bonjour,

si j'ai bien compris, je devrai faire ce qui suit:
1. créer une cellule et la rendre invisible
2. déposer un composant table dans la cellule et dire que je vais la remplir par programmation
3.créer une requete sql dans l'éditeur de requetes afin d'obtenir le resultat voulu.
4.Créer une fonction "toto" qui vas envoyer comme résultat une table (fichierverstablemémoire?)
5.appeler la fonction "toto" par ajaxexecute afin de re-récuperrer cette table
6.remplir le composant table avec le table mémoire
7.cellule..visible = vraie

Si je suis plus ou moins dans le bon, vous trouvez pas que c'est un peu lourd?

Désolé d'inssister, mais avez-vous une idée un peu plus "parlante", un bout de code?

merci à vous,

Adi
Posté le 15 décembre 2010 - 07:36
Bonsoir,

Je suis vraiment bloqué sur ce problème qui est essentiel pour mon projet.
Est-ce qu'il y a quelqu'un qui pourra vraiment me donner un bête exemple sur comment je pourrai avancer. Ca fait 4 jours que je reviens sur ce point, j'ai terminé tout ce que j'ai pu et maintenant pour aller plus loin je dois trouver un moyen d'exécuter du code serveur en ajax. Pourquoi personne ne se prononce à ce sujet? Est-ce que je suis le seul à vouloir faire de l'impossible?

D'avance merci pour votre temps.

Bien à vous,

Adi
Membre enregistré
163 messages
Posté le 15 décembre 2010 - 10:33
> Si je suis plus ou moins dans le bon, vous trouvez pas que c'est un peu lourd?
Ben moi je suis plus ou moins d'accord, en fait il te faudrais plutot tendre vers le schéma suivant :
1. créer une cellule et la rendre invisible

là je suis OK

> 2. déposer un composant table dans la cellule et dire que je vais la remplir par programmation
Là par contre je serai plutôt d'avis de lié ta table à ta requête

3.créer une requête sql dans l'éditeur de requêtes afin d'obtenir le résultat voulu.

oui mais ce serai mieux de la créer entre l'étape 1 et l'étape 2, peut-être une étape 1bis
> 4.Créer une fonction "toto" qui vas envoyer comme résultat une table (fichierverstablemémoire?)
NON, il te faut juste exécuter ta requête
5.appeler la fonction "toto" par ajaxexecute afin de re-récuperrer cette table

NON
> 6.remplir le composant table avec le table mémoire
oui, mais comme tu aura lié ta table, il te suffit de faire un dans un traitement AJAX
FichierVersEcran()

7.cellule..visible = vraie
En faite, il serait mieux au niveau du rendu de faire en code navigateur

CelluleAfficheDialogue(NomCellule,celCentre,Vrai,85)
RETOUR
Posté le 15 décembre 2010 - 12:11
YESSS!

Maintenant je comprends le mechanisme... Comme je viens du monde php/mysql/notepad++, je ne pouvais imaginer que les choses fonctionnent de cette manière. Il fallait donc juste faire tout une partie du travail du côté du traitement serveur et au même moment dans le code navigateur afficher la cellule...

Par contre, la maintenant j'ai comme impression qu'il y a un petit soucis avec mon composant table affiché en ajax.

La table s'affiche en ajax avec l'info qu'il faut, voir le lien:

http://img822.imageshack.us/i/88730284.jpg/

Si je clique sur la 1ère ligne, puis sur la 2ème, puis je reclique sur la 1ère, plus aucun contenu est affiché dans la cellule...

http://img837.imageshack.us/i/51760885.jpg/

Avez-vous une idée d'ou le problème pourrai provenir?

D'avance merci.

Bàv,

Adi
Posté le 15 décembre 2010 - 13:10
Bonjour Adi


On 15/12/2010 01:36, Adi wrote:
Bonsoir,

Je suis vraiment bloqué sur ce problème qui est essentiel pour mon projet.
Est-ce qu'il y a quelqu'un qui pourra vraiment me donner un bête exemple sur comment je pourrai avancer.


Regarde dans les exemples de webdev (voire télécharge Honolulu ou il y a
des exemples de TOUT)

Ca fait 4 jours que je reviens sur ce point, j'ai terminé tout ce que
j'ai pu et maintenant pour aller plus loin je dois trouver un moyen
d'exécuter du code serveur en ajax.

Pourquoi personne ne se prononce à ce sujet?

La, tu exagère juste un TOUT PETIT PEU... je vois dans la liste qu'on a
été TROIS à t'expliquer comment faire... Si tu veux du code tout fait
tout maché sans rien à faire de ton coté, tu es au mauvais endroit...

Cherche un peu, publie ton code qui ne fonctionne pas, et on t'aidera,
mais arrête de pleurer pour que quelqu'un d'autre fasse ton boulot à ta
place


Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com/index_FR.html

Est-ce que je suis le seul à vouloir faire de l'impossible?

Ca n'a rien d'impossible, ni même de très compliqué. Ca existe dans les
exemples de site webdev fourni, et il y PLEIN de posts qui parlent du
sujet sur ce forum

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com/index_FR.html


D'avance merci pour votre temps.

Bien à vous,

Adi
Posté le 15 décembre 2010 - 15:26
Bonjour Fabrice,

j'ai du en effet m'y prendre autrement dans mes explications. Je suis désolé si je t'ai blaissé de quelconque manière et t'en remercie pour tes réponses!

Je ne cherche en aucun cas une solution tout maché, c'est juste que je débute dans un environement que je ne connais pas. Nous sommes en train d'étudier ce produit pour éventuellement le choisir comme la plateforme de developpement principale. Si j'ai dis ce que j'ai dis c'est tout simplement pour voir pourquoi personne ne se prononce au sujet d'ajax.

Grace aux gens comme toi, j'ai finalement eu de l'aide et ai trouvé la solution.

Merci à vous les gars, et sans rancune, s'il vous plait.

Bien à vous,

Adi