Utilisation de Arraylist pour faire un crystal report... COMMENT!!!!!!

cs_vezz Messages postés 5 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 18 novembre 2005 - 17 nov. 2005 à 17:26
cs_vezz Messages postés 5 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 18 novembre 2005 - 18 nov. 2005 à 21:42
salut le monde!!!



J'ai un gros problème avec un de mes rapports ...c'est un peu fou meme
!!! :P Bon j'explique, il faut que je faire un horaire de travail...



donc j'ai du personnel, des periode de 28 jours(2 paye), et des jours...



Je veux que sa ressemble environ a ca t travailler (exemple...) et c congé




1 2
3 4 5 6 7
8 9 10 11
..

employer 1 c c
t t t t
t t t t
t ...
employer 2 t
t c c c
c c c c
c c



ce tableau se répete le nombre de fois qu'il a de periode de 28 jours



j'ai mes donnée qui son storé dans des arraylist imbriqué:



arraylist1 = les periodes

arraylist2 = la periodes

arraylist3 = Les employés

class(employé) = les info + les journé que l'employer travail



Pour ce qui est de mes données je le vois correctement .. le programme
est plutot lorsque je veux faire mon rapport ... comment ca marche pour
un arraylist .. pour un dataset ca va .. mais la je ne peut pas
vraiment ... atk je ne passe pas ...



Voici mon code pour la structure des données



int ide_Saison = Convert.ToInt32(ddlSaison.SelectedValue.ToString());

TimeSpan Un = new TimeSpan(1,0,0,0,0);

DropDownList ddlAjoutPeriode = new DropDownList();


ArrayList List =
f.miseAjourdllPeriode(ddlAjoutPeriode, ide_Saison,-1); //contient les
info pour la periode

ArrayList
rapportList = new ArrayList();


for (int group = 0 ; group < List.Count ; group++ )

{

//this.ddlAjoutPeriode.Enabled= false;


ddlAjoutPeriode.SelectedIndex =
group;


string Query1 = "SELECT DISTINCT
dbo.GPA_EMPLOYER.IDE_EMPLR_PK, dbo.GPA_EMPLOYER.PRENOM_EMPLOYER,
dbo.GPA_EMPLOYER.NOM_EMPLOYER "


+ "FROM dbo.GPA_GRILLE INNER JOIN
"


+ "dbo.GPA_EMPLOYER ON
dbo.GPA_GRILLE.IDE_EMPLR_FK = dbo.GPA_EMPLOYER.IDE_EMPLR_PK "


+ "WHERE
(dbo.GPA_GRILLE.IDE_PERIODE_FK = '" +
Convert.ToInt32(((ArrayList)List[ddlAjoutPeriode.SelectedIndex])[0].ToString())
+ "') AND (GPA_EMPLOYER.IDE_GROUP_FK='" +
Convert.ToInt32(ddlGroupe.SelectedValue.ToString()) + "')";


SqlCommand cmdGrille = new SqlCommand(Query1,
sqlConnection1);

SqlDataReader sdrGrille = cmdGrille.ExecuteReader();



ArrayList tableau = new ArrayList();

while(sdrGrille.Read())

{


tableau.Add(new
GrilleEmploye(Convert.ToInt32(sdrGrille["IDE_EMPLR_PK"].ToString()),Convert.ToString(sdrGrille["PRENOM_EMPLOYER"]),Convert.ToString(sdrGrille["NOM_EMPLOYER"])));


}

sdrGrille.Close();

cmdGrille.Dispose();



for (int j = 0 ; j < tableau.Count ; j++)

{


DateTime dateGrille =
Convert.ToDateTime(((ArrayList)List[ddlAjoutPeriode.SelectedIndex])[1]);

for(int i = 0 ; i < 14 ; i++ )

{


string Query2
= "";

try

{





Query2 = "SELECT IDE_CODE_FK, DAT_DATE "



+ "FROM dbo.GPA_GRILLE "



+ "WHERE (IDE_PERIODE_FK = '" +
Convert.ToInt32(((ArrayList)List[ddlAjoutPeriode.SelectedIndex])[0].ToString())
+ "') AND (IDE_EMPLR_FK = '" +
((GrilleEmploye)tableau[j]).GetNumeroEmploye + "') AND
DAT_DATE=CONVERT(DATETIME, '" + dateGrille.ToShortDateString() + "',
102)";



SqlCommand cmdGrille1 = new SqlCommand(Query2,
sqlConnection1);



f.connection(sqlConnection1);



SqlDataReader sdrGrille1 =
cmdGrille1.ExecuteReader();



sdrGrille1.Read();



if(Convert.ToInt32(sdrGrille1["IDE_CODE_FK"])==1)




((GrilleEmploye)tableau[j]).SetTableauDate(Convert.ToDateTime(sdrGrille1["DAT_DATE"]),Convert.ToInt32(sdrGrille1["IDE_CODE_FK"].ToString()),false);



else




((GrilleEmploye)tableau[j]).SetTableauDate(Convert.ToDateTime(sdrGrille1["DAT_DATE"]),Convert.ToInt32(sdrGrille1["IDE_CODE_FK"].ToString()),true);





sdrGrille1.Close();

}


catch (
System.InvalidOperationException msg)

{



this.lblErr.Text =msg.Message.ToString();



this.lblErr.Visible = true;



}


catch (
SqlException msg)

{



this.lblErr.Text =msg.Message.ToString();



this.lblErr.Visible = true;



}


dateGrille =
dateGrille + Un;

}



}

rapportList.Add(tableau);

}

2 réponses

cs_vezz Messages postés 5 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 18 novembre 2005
17 nov. 2005 à 17:34
J'ai oublié de dire que je suis en c# ASP.NET donc une application de style webform
0
cs_vezz Messages postés 5 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 18 novembre 2005
18 nov. 2005 à 21:42
Pas tout le monde en meme temps...??? je voudrais au moins savoir si
cela se fais!!! de arraylist vers un rapport qui faut que je sorte en
pdf sinon avez vous d'autre idée??? C URGENT quand meme ...

MErci a lavance!!! :(
0
Rejoignez-nous