Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/02/2007, 12h42   #1
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
Par défaut plusieurs choix à reporter

Bonjour,

Voilà ce que je voudrais faire.
Je suis donc avec un site en asp.
J'aimerais faire en sorte d'avoir deux zones de selections avec une liste dans la première.
Ensuite je voudrais faire en sortes que les lignes selectionnées dans la première puissent être envoyés dans la deuxième zones.
De par ce fait que ces lignes disparaisent de la première zone.

Et je voudrais que ce qui se fait dans un sens puisse se faire aussi dans l'autre.

Ensuite je voudrais recupérer tout ce qui est dans la seconde zone pour enregistrer dans une base de données.

Le soucis c'est que j'ai près de 3000 lignes a affichées...

Vous voyez ce que je veux faire?
Et est ce que vous pouvez m'aider?
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 14h55   #2
Inactif
 
Inscription : mars 2002
Messages : 1 295
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2002
Messages : 1 295
Points : 1 345
Points : 1 345
Pour que les lignes de la première zone disparaissent, il va falloir valider ton formulaire et ensuite te gérer quelles lignes ont été choisies, afin de ne pas les réafficher dans la première zone, et de les afficher dans la deuxième.

Pour un cas similaire mais petit (> à 40 ligne), j'utilise une variable de session avec le n° des lignes dedans, séparé par des virgules.
Pour 3000 lignes c'est plus compliqué, peut-être en utilisant une petite table temporaire dans ta base?
Florian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 17h26   #3
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
merci de ta réponse.

C'est sur ça que j'étais partit.
Mais peut on faire sans recharger la page car il n'y a pas que ces renseignements sur la page en question?
Passer par des iframes?

Sinon pensez vous qu'une liste de 3000 lignes soit divisable facilement car c'est illisible sinon.

En fait ce qui me bloque a l'heure actuelle c'est surtout pouvoir choisir des champs parmis 3000 dans une zone et les mettre dans une autre.
Si je réactualise a chaque fois cela va etre un peu long...

Vous en pensez quoi?
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 17h42   #4
Inactif
 
Inscription : mars 2002
Messages : 1 295
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2002
Messages : 1 295
Points : 1 345
Points : 1 345
Faut peut-être revoir le processus en lui-même, 3000 lignes c'est un peu énorme pour un être humain
Florian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 17h42   #5
Membre habitué
 
Inscription : octobre 2005
Messages : 125
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 125
Points : 108
Points : 108
Envoyer un message via Yahoo à tostinni
Personnelement pour ce genre d'interface, j'utilise un ti javascript:
http://www.mattkruse.com/javascript/optiontransfer/
Ca marche plutot pas mal meme qd il y a plein de registres.

Lorsqu'il y a vraiment enormement de registres, je rajoute une tite fonction de filtre: je tape du texte ds un champs et ca me restreint automatiquement la liste. Le code JS est un peu long mais si ca t'interesse, fait signe.
tostinni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 10h24   #6
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
C'est exactement cela.
Tu as des choses à me faire passer?
Ce serait super sympa.
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 17h14   #7
Membre habitué
 
Inscription : octobre 2005
Messages : 125
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 125
Points : 108
Points : 108
Envoyer un message via Yahoo à tostinni
Citation:
Envoyé par Phiss
C'est exactement cela.
Tu as des choses à me faire passer?
Ce serait super sympa.
Concernant le coup de selects, c bon tu as pu voir avec le site que je t'ai passe ?
C'est vraiment facile a mettre en oeuvre

Concernant la restriction de la liste, j'ai un ti JS sous la main:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<script language="JavaScript" type="text/javascript">
<!--
// Filter SelectList from Text Box  f32_Part1 (28-07-2005)
// by Vic Phillips http://www.vicsjavascripts.org.uk
 
function f32_InitSelectList(f32_id,axcary){
 f32_id=document.getElementById(f32_id);
 for (f32_1=0;f32_1<f32_ary.length;f32_1++){
  f32_id.options[f32_id.options.length]=new Option(f32_ary[f32_1][0],f32_ary[f32_1][1],true,true);
 }
}
 
function f32_FillSel(f32_tb,f32_id){
 f32_tv=f32_tb.value.toLowerCase();
 f32_id=document.getElementById(f32_id);
 if (!f32_id.ary){
  f32_id.sary=new Array();
  f32_id.ary=new Array();
  for (f32_0=0;f32_0<f32_id.options.length;f32_0++){
   f32_id.ary[f32_0]=[f32_id.options[f32_0].text,f32_id.options[f32_0].value];
  }
 }
 f32_ary=new Array();
 for (f32_0=0;f32_0<f32_id.ary.length;f32_0++){
  if (f32_id.ary[f32_0][0].toLowerCase().match( f32_tv)){
   //&&f32_tv!=''&&f32_tv!=' '
   f32_ary[f32_ary.length]=f32_id.ary[f32_0];
  }
 }
 f32_id.options.length=0;
 if (f32_id.sary!=f32_ary){
  for (f32_1=0;f32_1<f32_ary.length;f32_1++){
   f32_id.options[f32_id.options.length]=new Option(f32_ary[f32_1][0],f32_ary[f32_1][1],true,true);
  }
 }
 f32_id.selectedIndex=-1;
 f32_id.sary=f32_ary;
 f32_tb.focus();
}
 
//-->
</script>
Ca c le code.
Et pour le mode d'emploi:
' Filter SelectList from Text Box f32_Part1 (28-07-2005)
' by Vic Phillips http://www.vicsjavascripts.org.uk
' Type into a text box to filter SelectList Options
' Can be applied to as many SelectLists as required

' Application Note

' The Select List is defined in standard HTML Code
' and must be allocated a unique ID name
' e.g.
' <select id="MySelect1" size=4 style="width:100px;" >
' <option >Select</option>
' <option >Coca Cola</option>
' <option >Fanta</option>
' <option >Pepsi Cola</option>
' <option >X Cola</option>

' <b>The Text Box must have on onkeyup event f32_FillSel(this,'*SelectListID*');</b>
' <input type="text" size=10 autocomplete="off" onkeyup="f32_FillSel(this,'MySelect1');" id=text1 name=text1>
' where:
' *SelectListID* = the unique ID name of the SelectList (string)

' The SelectList may also be populated from a dimensioned array
' specifying the text and value for each option
' e.g.
' var SelAry1=new Array();
' SelAry1[0]=['Coca Cola','value 0'];
' SelAry1[1]=['Fanta','value 0'];
' SelAry1[2]=['Pepsi Cola','value 0'];
' SelAry1[3]=['X Cola','value 0'];

' This option is invoked by a <BODY> onload event call for eact SelectList to be populated
' e.g. <BODY onload="f32_InitSelectList('*SelectListID*',*Array*); >
' where:
' *SelectListID* = the unique ID name of the SelectList (string)
' *Array* = the dimensioned array to populate the SelectList (array variable name)

' All variable, function names etc. are prefixed with 'f32_' to minimise conflicts with other JavaScripts

' The functional code (about 1k) is best as an External JavaScript

' Tested with IE6 and MozillaFireFox

' Functional Code - NO Need to Change
tostinni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 17h47   #8
Membre habitué
 
Inscription : octobre 2005
Messages : 125
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 125
Points : 108
Points : 108
Envoyer un message via Yahoo à tostinni
Citation:
Envoyé par Phiss
C'est exactement cela.
Tu as des choses à me faire passer?
Ce serait super sympa.
Concernant le coup de selects, c bon tu as pu voir avec le site que je t'ai passe ?
C'est vraiment facile a mettre en oeuvre

Concernant la restriction de la liste, j'ai un ti JS sous la main:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<script language="JavaScript" type="text/javascript">
<!--
// Filter SelectList from Text Box  f32_Part1 (28-07-2005)
// by Vic Phillips http://www.vicsjavascripts.org.uk
 
function f32_InitSelectList(f32_id,axcary){
 f32_id=document.getElementById(f32_id);
 for (f32_1=0;f32_1<f32_ary.length;f32_1++){
  f32_id.options[f32_id.options.length]=new Option(f32_ary[f32_1][0],f32_ary[f32_1][1],true,true);
 }
}
 
function f32_FillSel(f32_tb,f32_id){
 f32_tv=f32_tb.value.toLowerCase();
 f32_id=document.getElementById(f32_id);
 if (!f32_id.ary){
  f32_id.sary=new Array();
  f32_id.ary=new Array();
  for (f32_0=0;f32_0<f32_id.options.length;f32_0++){
   f32_id.ary[f32_0]=[f32_id.options[f32_0].text,f32_id.options[f32_0].value];
  }
 }
 f32_ary=new Array();
 for (f32_0=0;f32_0<f32_id.ary.length;f32_0++){
  if (f32_id.ary[f32_0][0].toLowerCase().match( f32_tv)){
   //&&f32_tv!=''&&f32_tv!=' '
   f32_ary[f32_ary.length]=f32_id.ary[f32_0];
  }
 }
 f32_id.options.length=0;
 if (f32_id.sary!=f32_ary){
  for (f32_1=0;f32_1<f32_ary.length;f32_1++){
   f32_id.options[f32_id.options.length]=new Option(f32_ary[f32_1][0],f32_ary[f32_1][1],true,true);
  }
 }
 f32_id.selectedIndex=-1;
 f32_id.sary=f32_ary;
 f32_tb.focus();
}
 
//-->
</script>
Ca c le code.
Et pour le mode d'emploi:

Filter SelectList from Text Box f32_Part1 (28-07-2005)
by Vic Phillips http://www.vicsjavascripts.org.uk
Type into a text box to filter SelectList Options
Can be applied to as many SelectLists as required

Application Note

The Select List is defined in standard HTML Code
and must be allocated a unique ID name

e.g.
<select id="MySelect1" size=4 style="width:100px;" >
<option >Select</option>
<option >Coca Cola</option>
<option >Fanta</option>
<option >Pepsi Cola</option>
<option >X Cola</option>

The Text Box must have on onkeyup event f32_FillSel(this,'*SelectListID*');
<input type="text" size=10 autocomplete="off" onkeyup="f32_FillSel(this,'MySelect1');" id=text1 name=text1>
where:
*SelectListID* = the unique ID name of the SelectList (string)

The SelectList may also be populated from a dimensioned array
specifying the text and value for each option
e.g.
var SelAry1=new Array();
SelAry1[0]=['Coca Cola','value 0'];
SelAry1[1]=['Fanta','value 0'];
SelAry1[2]=['Pepsi Cola','value 0'];
SelAry1[3]=['X Cola','value 0'];

This option is invoked by a <BODY> onload event call for eact SelectList to be populated
e.g. <BODY onload="f32_InitSelectList('*SelectListID*',*Array*); >
where:
*SelectListID* = the unique ID name of the SelectList (string)
*Array* = the dimensioned array to populate the SelectList (array variable name)

All variable, function names etc. are prefixed with 'f32_to minimise conflicts with other JavaScripts

The functional code (about 1k) is best as an External JavaScript

Tested with IE6 and MozillaFireFox

Functional Code - NO Need to Change


J'ai mis en gras les parties importantes (en gros c qd meme super simple a mettre en place).
Encore merci a Phillips qui m'a ecrit ce petit script, par contre je l'ai pas trouve sur son site, donc je l'ai recopie ici.

Au passage, sur IE, ca donne un visuel un peu bizarre ds le sens ou il est pas super efficace pour recreer le select a la volee, mais ca marche (ca donne juste l'impression de clignoter). Sur FF et opera ca marche parfaitement.
tostinni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2007, 12h09   #9
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
salut

Merci pour ce bout de code.

Pour ce qui est de la première partie avec une liste a gauche et rediriger a droite c'est tout bon.

Mais je bloque sur la partie que tu as trouvé sur le site de Phillips.
Je n'arrive pas a lier une liste de choix a une autres.

Par exemple, j'ai une liste de race de chien.
Dans une liste je voudrais que cela me trie les chiens que j'ai par race en fonction de la race selectionnée.
pour que je puisse les transférer ensuite dans une dernière liste.

Tu vois ce que je veux dire?

Et bien je n'arrive pas à faire en sorte que cela me liste tout les chiens d'une même race.
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2007, 18h01   #10
Membre habitué
 
Inscription : octobre 2005
Messages : 125
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 125
Points : 108
Points : 108
Envoyer un message via Yahoo à tostinni
Citation:
Envoyé par Phiss
salut

Merci pour ce bout de code.

Pour ce qui est de la première partie avec une liste a gauche et rediriger a droite c'est tout bon.
Chouette

Citation:
Envoyé par Phiss
Mais je bloque sur la partie que tu as trouvé sur le site de Phillips.
Je n'arrive pas a lier une liste de choix a une autres.

Par exemple, j'ai une liste de race de chien.
Dans une liste je voudrais que cela me trie les chiens que j'ai par race en fonction de la race selectionnée.
pour que je puisse les transférer ensuite dans une dernière liste.

Tu vois ce que je veux dire?

Et bien je n'arrive pas à faire en sorte que cela me liste tout les chiens d'une même race.
Le script que de Phillips ne sert qu'a restreindre une liste a partir de lettre tapee ds un champs de texte.

Pour ce que tu recherche, c'est plutot avoir 2 listes dependantes et dans ce cas c'est sur le premier site (enfin sa nouvelle version).
http://www.javascripttoolbox.com/lib/dynamicoptionlist/
tostinni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2007, 17h03   #11
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
Je me suis débrouillé.
Je réactualise la page a chaque fois que l'on change un première liste.
Mais cela reduit la liste sur la 2eme donc c'est rapide.
Merci en tout cas tostinni.
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h33.


 
 
 
 
Partenaires

Hébergement Web