Bonjour tout le monde,
Je viens demander de l'aide après plusieurs jours de recherche et en dernier espoir je me tourne vers vous
J'ai une page aspx (GestionDisposV2) qui contient une GridView (DGV_LISTEJOURS) et une frame (FR_MODIFPERIODE)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <div id="listejours">
<asp:GridView ID="DGV_LISTEJOURS" runat="server" AutoGenerateColumns="False" OnRowCommand="DGV_LISTEJOURS_RowCommand" OnRowDataBound="DGV_LISTEJOURS_RowDataBound">
<Columns>
<asp:ImageField DataImageUrlField="AMPOULE"></asp:ImageField>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="JOUR" HeaderText="JOUR" />
<asp:BoundField DataField="DEBUTDISPO" HeaderText="DEBUT DISPO" />
<asp:BoundField DataField="FINDISPO" HeaderText="FIN DISPO" />
<asp:ButtonField ButtonType="Button" CommandName="ajoutdispo" Text="+" />
<asp:ButtonField ButtonType="Button" CommandName="modifier" Text="Modifier" />
<asp:ButtonField ButtonType="Button" CommandName="activer" Text="ACTIVER" DataTextField="BTNACTIVER" />
</Columns>
</asp:GridView>
</div> |
1 2 3 4
| <div id="paramjour" class="auto-style1">
<br />
<iframe id="FR_MODIFPERIODE" runat="server" class="auto-style2"/>
</div> |
La frame est appelée est remplie via un bouton ayant un command argument et renvoie vers une page
case "modifier":
1 2
| //affichage de la frame modif heures
FR_MODIFPERIODE.Attributes["src"] = "ModifPeriode_Heures.aspx?date="+ xligne.Cells[2].Text + " (Id:" + xligne.Cells[1].Text + ")&Debut="+ xligne.Cells[3].Text+"&Fin="+ xligne.Cells[4].Text; |
Dans cette page qui est contenue dans la frame je fais des traitements qui vont modifier la bdd et à la fin j'aimerais rafraichir la gridview contenue dans la page de base.
J'ai donc, dans les traitements de la page "modifperiode_heures" mis une fonction de refresh
GestionDisposV2.refreshdgvext(xidperiode);
La fonction de refresh est dans la page "GestionDisposV2"
elle est en public static et s'exécute correctement
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
| public static void refreshdgvext(int xidperiode)
{
DataTable xdttempo = new DataTable();
DataRow xlignedttempo = null;
GridView xdgv = (GridView)xpage.FindControl("DGV_LISTEJOURS");
//on rempli la table des jours depuis la table
DataTable xlistedispo_jours = BibliothequeClasses.GestionBDD.LectureBdd("select * from bddispos_periodesjours where idbddispos_periodes_int = '" + xidperiode + "';", BibliothequeClasses.Variables.xretourbddsiok);
xdttempo.Columns.Add(new DataColumn("AMPOULE", typeof(string)));
xdttempo.Columns.Add(new DataColumn("ID", typeof(string)));
xdttempo.Columns.Add(new DataColumn("JOUR", typeof(string)));
xdttempo.Columns.Add(new DataColumn("DEBUTDISPO", typeof(string)));
xdttempo.Columns.Add(new DataColumn("FINDISPO", typeof(string)));
xdttempo.Columns.Add(new DataColumn("BTNACTIVER", typeof(string)));
DateTime xjour;
//stockage dans la dt tempo
foreach (DataRow xdispo_jours in xlistedispo_jours.Rows)
{
xjour = DateTime.Parse(xdispo_jours["dateperiode_da"].ToString());
xlignedttempo = xdttempo.NewRow();
if (int.Parse(xdispo_jours["dateperiode_actif_bo"].ToString()) == 1)
{
xlignedttempo["AMPOULE"] = "~/Images/icones/icons8-lumière-allumée-48.png";
xlignedttempo["BTNACTIVER"] = "Desactiver";
}
else
{
xlignedttempo["AMPOULE"] = "~/Images/icones/icons8-lumière-éteinte-48.png";
xlignedttempo["BTNACTIVER"] = "Activer";
}
xlignedttempo["ID"] = int.Parse(xdispo_jours["idbddispos_periodesjours_int"].ToString());
xlignedttempo["JOUR"] = BibliothequeClasses.GestionDate_Heure.jour_jour_date(xjour) + "/" + BibliothequeClasses.GestionDate_Heure.mois_jour_date(xjour) + "/" + BibliothequeClasses.GestionDate_Heure.annee_jour_date(xjour);
xlignedttempo["DEBUTDISPO"] = xdispo_jours["heuredebut_vc"].ToString();
xlignedttempo["FINDISPO"] = xdispo_jours["heurefin_vc"].ToString();
xdttempo.Rows.Add(xlignedttempo);
}
//deversement dans la dgv
xdgv.DataSource = xdttempo;
xdgv.DataBind();
} |
la récupération du xpage se fait dans le load et renvoie bien la bonne page
Et .... je n'ai aucun rafraichissement de ma gridview, rien ne se passe, par contre si je recharge la page manuellement les données ont bien été mises à jour.
Auriez-vous une idée de là ou j'ai pu faire mon erreur? En vous remerciant énormément, par avance de votre aide
Je n'ai pas envie d'abandonner tout le projet pour une erreur aussi idiote.
Merci par avance
Partager