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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
namespace TEST
{
public partial class Formulaire2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int IDQchoisi;
string Qchoisi;
Starter.Trooper(out IDQchoisi, out Qchoisi);
//-------------------//
if (Btchoix.SelectedItem != null) // si le bouton label n'est pas nul donc oui ou non coché
{
if (Session["caca"] == null) // si il n'existe pas encore de variable de session caca
{
//------------------------//
string OuiouNON = Btchoix.SelectedItem.Text;
//-----------------------//
// pour chaque entrée de la base
for (int i = TheReponse.Rows.Count; i >= 0; i--)
{
DataRow newRow = TheReponse.NewRow(); // creation d'une nouvelle ligne avec dans chaque ligne
newRow["id"] = i; // un index
newRow["Question"] = Laquestion; // La question
newRow["Reponse"] = OuiouNON; // Le choix Oui ou Non selectionné
newRow["Image"] = icone; // Une colonne suplémentaire pour une future image
TheReponse.Rows.Add(newRow); // On ajoute cette nouvelle ligne à la dataTable The Reponse
Session[i.ToString()] = TheReponse; // On créer une session avec l'index de la ligne contenant la table
// le controles de l'affichage
if (this.IsPostBack) // affiche la table si
{
this.Button1.Command += new CommandEventHandler(Vebout_Command); // Button1 est utilisé via l'appel command
this.Button1.CommandArgument = i.ToString(); // Envoi comme argument le nombre de ligne
}
} // fin de for (int i = TheReponse.Rows.Count; i >= 0; i--)
} // fin de la partie "si session pas encore créer"
// ------------------------------------------------ Fin de la partie sans session, table de reponse créer---------
if (Session["caca"] != null) // la session existe, elle a été créer après la 1ere fois ou le bouton a été cliquer
{
// On insere dans la DataTable la nouvelle question
//--------------------------//
Session[theRow["id"].ToString()] = TheReponse; // creation de la session avec l'index de la ligne créer comme valeur
}
}
else // si le bouton label n'est pas coché
{
//-------//
}
}
protected void Button1_Click(object sender, EventArgs e)
{
TheAnswer.Text = string.Empty; // vide le lablel avec la question après chaque clic
//-------------- 1er clic la session ["caca"]n'existe pas
if (Session["caca"] == null) // il n'existe pas encore de variable de session caca
{
// creation d'une variiable composite avec l'ID de la bonne question issu de la Table SQL + le choix Oui ou Non
//----------------------------//
ick = LaNtable;
GridView1.DataSource = selection_click;
GridView1.DataBind();
}
// ------------------Second clic ["Caca"] existe et Session["velevete"] a été créer
if (Session["caca"] != null)
{
//---------------//
Session["RepOK"] = RestRepLast;
Session["Modselect"] = "on est sur la variable FINAL";
Server.Transfer("Resultat.aspx", true);
}
// ----- Session FINAL n'existe pas encore--------------------
else
{
//------------//
GridView1.DataSource = selection_click;
GridView1.DataBind();
}
} // fin du count ==1
//----> si nombre de reponse strictement superieur a 1
else
{
//----------------------//
Session["velevete"] = QchoisiP;
// Affiche nouvelle question
TheAnswer.Text = QchoisiP;
//PARTIE QUI NE SERT QUE AU CONTROLE VISUEL A EFFACER ENSUITE
var selection_click = NouvTable;
GridView1.DataSource = selection_click;
GridView1.DataBind();
}
}
}
}
}
}
}
protected void Vebout_Command(object sender, CommandEventArgs e)
{
// A chaque clic sur le bouton
string arg = e.CommandArgument.ToString(); // recupere la CommandArgument ici le numero de la ligne créer
int i = Convert.ToInt32(arg); // conversion en chiffre de l'argument
DataTable TheReponse = (DataTable)Session[i.ToString()]; // recupere la DataTable contenu dans la session
DataView view = new DataView(TheReponse); // met la datatble dans un dataview
Rita1.DataSource = view; // et l'affiche
Rita1.DataBind();
Session["caca"] = TheReponse; // la DataTable n'est pas modifier mais juste renvoyer comme variable de session
// rinitialisation des bouton radio pour être unchecked
Btchoix.ClearSelection();
}
}
} |
Partager