Bonjour,
je commence par expliquer ce que je fais dans cette opération:
j'ai un gridview comme montre l'image ci-dessus.
quand je selectionne une ligne je clique sur le button modifier et les info de cette ligne s'affiche dans des textbox pour que je les modifie .
le problème se pose ici , c'est que je ne sais pas comment modifier ces info comme montre la 2eme image (select a row) selon un id qui est en mode (hidden) dans la gridview .
voilà ma grid :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <asp:GridView ID="gv_enfant" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataSourceID="SqlDataSource1" Width="533px"> <Columns> <asp:TemplateField HeaderText="Select"> <ItemTemplate> <asp:CheckBox ID="CheckBoxenfant" runat="server" /> <asp:HiddenField ID="codeenfant" runat="server" Value='<%# Eval("codeEnfants") %>' /> </ItemTemplate> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> <asp:BoundField DataField="prenom" HeaderText="prenom" SortExpression="prenom" /> <asp:BoundField DataField="DateNaissance" HeaderText="Date Naissance" DataFormatString="{0:d}" SortExpression="DateNaissance" /> <asp:BoundField DataField="Scolarise" HeaderText="Scolarise" SortExpression="Scolarise" /> <asp:BoundField DataField="Activite" HeaderText="Activite" SortExpression="Activite" /> </Columns> <FooterStyle BackColor="White" ForeColor="#000066" /> <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" /> <RowStyle ForeColor="#000066" /> <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" /> <SortedAscendingCellStyle BackColor="#F1F1F1" /> <SortedAscendingHeaderStyle BackColor="#007DBB" /> <SortedDescendingCellStyle BackColor="#CAC9C9" /> <SortedDescendingHeaderStyle BackColor="#00547E" /> </asp:GridView>
ET voila mon code pour modifier sauf que j'ai besoin d'une sorte de méthode pour avoir cet id (myid) dans la partie mise en GRAS .
j'espere que vous pourriez m'aider , merci beacoup
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 protected void btnValiderModifier_Click(object sender, EventArgs e) { try { string id = ""; for (int i = 0; i < gv_enfant.Rows.Count; i++) { CheckBox chbox = (CheckBox)gv_enfant.Rows[i].Cells[0].FindControl("CheckBoxenfant"); if (chbox.Checked) { id = gv_enfant.Rows[i].Cells[0].Text; id = ((HiddenField)gv_enfant.Rows[i].Cells[0].FindControl("codeenfant")).Value; c.cmd = c.cn.CreateCommand(); c.cmd.CommandText = "update Enfants set prenom =@prenom, DateNaissance=@dateNaissance, Scolarise=@scolarise, Activite=@activite where codeEnfants=@codeEnfants"; if (c.cn.State == ConnectionState.Closed) { c.cn.Open(); } c.cmd.Parameters.Add("@prenom", SqlDbType.VarChar); c.cmd.Parameters.Add("@dateNaissance", SqlDbType.Date); c.cmd.Parameters.Add("@scolarise", SqlDbType.VarChar); c.cmd.Parameters.Add("@activite", SqlDbType.VarChar); c.cmd.Parameters.Add("@codeEnfants", SqlDbType.Int); c.cmd.Parameters["@prenom"].Value = TextBox_NPmodif.Text; c.cmd.Parameters["@dateNaissance"].Value = TextBox_DNmodif.Text; c.cmd.Parameters["@scolarise"].Value = TextBox_Scolarisemodif.Text; c.cmd.Parameters["@activite"].Value = TextBox_Activitemodif.Text; c.cmd.Parameters["@codeEnfants"].Value = id; c.cmd.ExecuteNonQuery(); gv_enfant.DataBind(); //success! Response.Write("<script>alert('Opération reussie')</script>"); } } } catch (SqlException sqlEx) { //fail! //what is the point of cacthing if you do use the exception? Response.Write("error" + sqlEx.Message); Response.Write("<script>alert ('Erreur lors de la modif!')</script>"); } finally { if (c.cn.State == ConnectionState.Open) { c.cn.Close(); } } }
Partager