Pourquoi je dois cliquer 2 fois sur EditButton dans ma GridView ?
bonsoir,
je viens de créer une GridView qui est liée à une base de donnée SqlServer, les données sont bien affichées comme vous voyez dans l'image en dessous.
Le problème c'est que je ne sais pas pourquoi a chaque fois je dois cliquer 2 fois sur Modifier Annuler et Mettre à jour ? c'est comme si il y a un conflit entre GridViewEditEventArgs et GridViewUpdateEventArgs et GridViewCancelEditEventArgs.
le code behind :
Code:
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
|
protected void Mise_a_jour(object sender, GridViewUpdateEventArgs gue)
{
maGridView.EditIndex = (int)gue.RowIndex;
maGridView.SelectedIndex = (int)gue.RowIndex;
lblaction.Text = " UPDATING ID Cat : " + maGridView.DataKeys[gue.RowIndex].Values[0].ToString();
maGridView.Dispose();
gue = null;
}
protected void Annuler(object sender, GridViewCancelEditEventArgs gce)
{
gce.Cancel = true;
maGridView.EditIndex = -1;
maGridView.SelectedIndex = -1;
lblaction.Text = "Canceling ID Cat : " + maGridView.DataKeys[gce.RowIndex].Values[0].ToString();
}
protected void Editer(object sender, GridViewEditEventArgs gee)
{
int edite_cat_id;
int Edit = (int)gee.NewEditIndex;
maGridView.SelectedIndex = Edit;
maGridView.EditIndex = Edit;
edite_cat_id = (int)maGridView.DataKeys[gee.NewEditIndex].Values[0];
lblaction.Text = "</br> Edit ID Cat : " + edite_cat_id;
gee = null; sender = null;
} |
page aspx :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<asp:GridView ID="maGridView" CssClass="pagine" runat="server" CellSpacing=1
HorizontalAlign="Center" AllowPaging="True"
AllowSorting="True" AutoGenerateDeleteButton="True" DataKeyNames="id_cat,titre_cat"
AutoGenerateEditButton="True" AutoGenerateSelectButton="True" AutoGenerateColumns="False"
OnPageIndexChanging="MyDataView_Page" OnSorting="Trier" CellPadding="3"
GridLines="None" onselectedindexchanged="maGridView_SelectedIndexChanged"
OnRowDeleting="Supprimer" OnRowEditing="Editer" OnRowUpdating="Mise_a_jour"
OnRowCancelingEdit="Annuler" OnRowCommand="Commande" BackColor="White"
BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" >
<Columns>
<asp:ButtonField ButtonType=Button CommandName="btnmodifier" HeaderText="Modifier" Text="Modifier" />
<asp:BoundField DataField="Id_cat" HeaderText="Id Cat" SortExpression="Id_cat" ReadOnly="True" />
.....
<Columns> |
quand je clique la première fois sur le lien MODIFIER je reçois l'id catégorie correcte en passant par DataKeyNames c'est à dire que le déclencheur d'événement GridViewEditEventArgs s'est bien lancé pourtant la ligne n'est pas en mode Éditable, il faut que je clique encore une fois pour que la ligne devienne Éditable , même si que je l'ai bien mentionné dans mon code behind
Code:
1 2 3
| int Edit = (int)gee.NewEditIndex;
maGridView.SelectedIndex = Edit;
maGridView.EditIndex = Edit; |
la même chose pour mettre-a-jour et annuler, je me demande pourquoi ?? quelqu'un pourrai m'aider s'il vous plait ?