Mise a jour Datagrid

cs_tiolebucheron Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 2 novembre 2010 - 22 janv. 2006 à 10:41
cs_tiolebucheron Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 2 novembre 2010 - 26 janv. 2006 à 23:43
Bonjour,

Je vais d'être bref et clair

Je construit mon datagrid sur ma première page ("feuil1.aspx", "frame : fe_data")

J'ouvre une deuxième page "feuil2.aspx" à partir d'un bouton ("feuil1.aspx", "frame : fe_function")

Sur cette deuxième page l'utilisateur choisit les filtres qui veut faire sur le datagrid de la première page.



Pour info j'initialise mon datagrid avec un dataset en utilisant es fonction datasource et databind.



La question est simple:

Comment je peux mettre à jour le datasource du datagrid de la feuil1 à
partir de la feuil2 et bien sur faire le rafraichissement?



Merci de votre aide

9 réponses

cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
22 janv. 2006 à 14:12
je pense que tu dois jongler avec un peu de javascript.
voici une idée que j'ai eu:
Ta fenetre fille, une fois qu'elle a été bien paramétré avec les nouveaux paramètres, transmet ces derniers à la fenêtre parent. Les paramètres transmis seront stockés dans des champs Hidden de la fenêtre parent. Ensuite, la fenetre fille déclenche le "submitage" de la fenetre parent.
Quand il y'aura un postback de la fenêtre parent, tu dois récupérer les valeurs des champs Hidden et ajuster ton Datagrid en fonction.

Ça nécessite une assez bonne connaissance de Javascript, mais je pense que c'est faisable

@++
0
cs_tiolebucheron Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 2 novembre 2010
22 janv. 2006 à 23:00
Oui Merci de ta réponse mais je suis perdu



Pour la fenêtre fille quand tu parles des nouveaux paramètres, je
suppose que c'est les nouvelle référence du datagrid. donc un dataset.

Je ne comprend pas ce que c'est le "submitage" ni un postback de la fenêtre parent!!!



Pour être plus simple On imagine

De la fenêtre fille j'initialise un hidden de la fenêtre parent avec la
requête sql du nouveau formatage du datagrid. et un autre hidden
indiquant que le datagrid est a mettre à jour .

Pas simple déja pour faire ce passage.

Ensuite en validant par un bouton, sur ma fenêtre fille, les fonction suivante s'excute

1° mise à jour des hidden

2° fermeture de la fenetre fille

3° reload de la fenetre mère hiddent test = VRAI je
reconstruit un dataset a partir de la requête et reconstruit le
datagrid.



Cette solution te ou vous paraît-elle viaible?

par contre je rentre des difficultés pour le point 1 et 3. pouvez vous me donner des indications pour que je réussisse cela.

Merci de votre aide à tous et merci a toi badrbadr



A bientot
0
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
22 janv. 2006 à 23:57
Salut,
T'as compris mon idée. Maintenant, pour ce qui est du "comment faire", je vais te présenter le code source de deux pages html. une joue le rôle de parent, et l'autre celle de fille.
c'est très clair, tu peux copier le code source et le tester chez toi

parent.html


<html>


<head>


<title>Parent window</title>


</head>


<body>


<ahref="#"onclick="window.open('child.html', 'child');">open new window</a>


<formid="mainForm">


champs "hidden" : <inputtype="text"id="hiddenField"value="false"/>


</form>


</body>


</html>


child.html


<html>


<head>


<title>Child window</title>


<scriptlanguage="javascript">


function ChangeParentForm()


{


//je récupère un pointeur sur le champ "hidden"


var hiddenField = opener.document.getElementById("hiddenField");


hiddenField.value = "true";




//on submit la form (enlever les commentaires)


//opener.document.getElementById("mainForm").submit();




}


</script>


</head>


<body>


<inputtype="button"value="changer le champ 'hidden'"


onclick="ChangeParentForm();"/>


</body>


</html>


Tu sais maintenant comme modifier les champs de la fenêtre parent et comment faire un postback du formulaire (il faut enlever les commentaires).
Maintenant, une fois le postback fait, tu récupères les valeurs de tes champs cachés et tu fais les modifications à ton DataGrid.

bon, je te laisse tester le code et on s'en reparle

p.s.: dans les exemples, le champ était une zone texte et non un champ de type caché, c'était juste pour voir que le champ texte va passer de false à true

@++
0
cs_tiolebucheron Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 2 novembre 2010
23 janv. 2006 à 22:05
Bonjour



Je te remercie pour ce code. Je post simpement pour te prévenir que je
regarderai cela en fin de semaine car je suis en déplacement a partir
de demain.



Merci encore a bientot
0

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

Posez votre question
cs_tiolebucheron Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 2 novembre 2010
25 janv. 2006 à 10:41
Bonjour je viens d'essayer mais j'ai un soucis



Ma page mère welcome.htm est constituée de deux frames "fe_fonction" et "fe_data".



Le bouton ouvrant la page fille se trouve dans la frame "fe_fonction"

Le datagrid et les hidden est dans la frame "fe_data"



Le nom de la fenetre fille est chrono_search.aspx.



Mon problème opener.document.getElementById("hiddenField"); me fait une erreur il me dit que le hiddenField
est null ou pas définit. Je pense que c'est un problême de chemin de la
fenêtre parent. En plus avec les frame c'est moins évident.



Merci de ton aide a bientot
0
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
25 janv. 2006 à 16:15
c vrai que ça devient plus compliquée
j'ai fait des recherches et j'y suis arrivé

http://aspspider.net/badrbadr/test.zip

telecharge ca et dis moi si ca correspond à tes besoins

@++
0
cs_tiolebucheron Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 2 novembre 2010
26 janv. 2006 à 14:36
Tout fonctionne à merveille le submit je l'ai refait sur la même page et impéccable.



une question lorsque j'ai une modif (passé par le submit) et que la page s'actualise (je l'ai fait par hasard) .



Il me met :

la page ne peut pas être actualisée sans le renvoi d'informations.

cliquez sur recommencer pour renvoyer les info ou sur annuler pour revenir à la page..."



cela vient de quoi?



merci encore d'avoir pris du temps pour résoudre mon problème.
0
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
26 janv. 2006 à 15:42
c'est comme quand t'es dans hotmail, logé dans ta boite d'e-mail et que t'appuies sur F5
le navigateur te demande pour savoir s'ils doit renvoyer les informations dans le header (post et get)

je pense pas que ça se produit normalement lorsqu'on fait ça avec un script mais bon.

bonne chance

@++
0
cs_tiolebucheron Messages postés 20 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 2 novembre 2010
26 janv. 2006 à 23:43
Ok je te remerci je chercherai un peu d'info pour éviter cela mais je ne vais pas m'atarder. Merci encore de ton aide
0
Rejoignez-nous