brumara
Messages postés2Date d'inscriptionlundi 27 mars 2006StatutMembreDernière intervention28 mars 2007
-
28 mars 2007 à 10:14
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
28 mars 2007 à 11:10
Bonjour,
Je dois rendre dynamique les parties de codes qui sont en gras, car mon but est de les remplir avec un requête sql à la fin.
<script type= "text/javascript">
var g = new MWJ_graph(700,300,MWJ_stacked,true,false);
g.addDataSet('<% =rscamem(25)%>','', [90,90,85,63,90,85] );
g.addDataSet('<% =rscamem(26)%>','',[10,10,15,37,10,15]);
g.setTitles('','','%');
g.setXAxis('Frais Financier','Produits financiers','Frais personnel','Charges récupérées','Produit,'Autres');
g.setYAxis(10);
g.buildGraph();
</script>
Voici une des fonction derrières
this.setXAxis = function (){
//je vous passe le blabla
}
Vu que je ne connais pas le nombre de champs qui sera générer par ma requête.
Je ne peux pas faire
g.setXAxis(champ1 , champ2,champ3,champ4,champ5,champ6);
J'ai tout premièrement essayé de les concaténer et de passer une string
var test =[10,10,15,37,10,15]
g.addDataSet('<% =rscamem(26)%>','',test);
Cela n'a pas fonctionné
Sinon je n'arrive pas à trouver comment passer une vecteur en paramètre, en c++ c'est facile tu utilises un pointeur, mais je suis perdue en javascript,
Voici ce que j'ai essayé
var test=new Array(6);
test[0]='Frais Financier'
test[1]='Produits financiers'
test[2]='Frais personnel'
test[3]='Charges récupérées'
test[4]='Produit et accessoires'
test[5]='Autres'
g.setXAxis.apply(this,test);
g.setXAxis.apphy(test);
g.setXAxis(test);
Sinon peut-être qu'il y a une autre façon de concaténer les champs, mais je ne vois pas comment.
brumara
Messages postés2Date d'inscriptionlundi 27 mars 2006StatutMembreDernière intervention28 mars 2007 28 mars 2007 à 10:54
Merci beaucoup,
Je n'ai eu besoin que de modifier l'entête de mes fonctions l'entête "toto" pour pouvoir passer mon vecteur en paramètre en rendre mon site dynamique.
this.setXAxis = function ( toto ){
//je vous passe le blabla
}
Mais dans ta 2ième partie de solution comment pourrais-je concaténer mes arguments étant donné que je ne connais pas leur nombre?
exemple:
test2( for(i =0;i<toto.length();i++){toto[i]+','})
De toute façon la première solution fonctionne. Je suis seulement curieuse.
Merci beaucoup.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 28 mars 2007 à 11:10
>>comment pourrais-je concaténer mes arguments
on pourrait aussi effectivement, et les éclater avant utilisation.
( mais bof car 2 traitements à faire )
var res="";
for ( var n=0;n<limite;n++ )
{
res+=poste[n]+"\t");
}
passer res.substr(0,res.length-1);
et dans la fonction faire un split sur "\t"
>>étant donné que je ne connais pas leur nombre
leur nombre c'est la taille du tableau
toto.length si un tableau est passé
arguments.lengts si on exploite le tableau des paramètres passés
ou alors je n'ai pas compris ?