tomtom41 It's not a bug, it's a feature | J'ai un datagrid qui contient plusieurs enregistrements. J'y ai ajouté sur la colonne de droite un lien hypertexte pour supprimer la ligne correspondante.
Lorsque l'on clique sur le lien, ceci déclenche l'évenement OnItemCommand.
Mon probleme, si je clique une première la ligne correspondante est bien supprimé par contre, pour toutes les fois d'après la ligne n'est pas supprimée mais le label est mis à jour et je ne vois pas pkoi si vous avez une idée, ca m'arrangerait bcp
Code :
- void ItemsGrid_Command(Object sender, DataGridCommandEventArgs e)
- {
- switch(((LinkButton)e.CommandSource).CommandName)
- {
- case "Ajouter":
- Label1.Text = "ajout detecté";
- break;
- case "Delete":
- Label1.Text = "suppr detecté "+e.Item.ItemIndex;
- tableView.Delete(e.Item.ItemIndex);
- Label1.Text += " longueur tableau "+table.Rows.Count;
- BindGrid();
- break;
- // Add other cases here, if there are multiple ButtonColumns in
- // the DataGrid control.
- default:
- // Do nothing.
- Label1.Text = "rien trouvé";
- break;
- }
- }
|
voici ma méthode pour charger la page :
Code :
- void Page_Load(Object sender, EventArgs e) {
- table = new DataTable();
- table.Columns.Add(new DataColumn("Matricule", typeof(string)));
- table.Columns.Add(new DataColumn("Nom", typeof(string)));
- table.Columns.Add(new DataColumn("Prenom", typeof(string)));
- table.Columns.Add(new DataColumn("Engin", typeof(string)));
- for (int i=1; i<10; i++) {
- DataRow dr = table.NewRow();
- dr[0] = "mat_"+i;
- dr[1] = "nom_"+i;
- dr[2] = "prenom_"+i;
- table.Rows.Add(dr);
- }
- // if (!IsPostBack) {
- tableView = new DataView(table);
- dgExpenses.DataSource = tableView;
- BindGrid();
- //}
- }
|
et enfin le databind :
Code :
- public void BindGrid() {
- // tableView = new DataView(table);
- // dgExpenses.DataSource = tableView;
- dgExpenses.DataBind();
- }
|
|