Suppression de lignes dans un dataview

Suppression de lignes dans un dataview - C#/.NET managed - Programmation

Marsh Posté le 04-02-2006 à 17:43:13    

:hello:  
 
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  :cry:  
 
si vous avez une idée, ca m'arrangerait bcp  :love:  
 
 

Code :
  1. void ItemsGrid_Command(Object sender, DataGridCommandEventArgs e)
  2.       {
  3.          switch(((LinkButton)e.CommandSource).CommandName)
  4.          {
  5.             case "Ajouter":
  6.                Label1.Text = "ajout detecté";
  7.                break;
  8.             case "Delete":
  9.                Label1.Text = "suppr detecté "+e.Item.ItemIndex;
  10.                tableView.Delete(e.Item.ItemIndex);
  11.                Label1.Text += " longueur tableau "+table.Rows.Count;
  12.                BindGrid();
  13.                break;
  14.             // Add other cases here, if there are multiple ButtonColumns in
  15.             // the DataGrid control.
  16.             default:
  17.                // Do nothing.
  18.                Label1.Text = "rien trouvé";
  19.                break;
  20.          }
  21.       }


 
voici ma méthode pour charger la page :

Code :
  1. void Page_Load(Object sender, EventArgs e) {
  2.     table = new DataTable();
  3.              table.Columns.Add(new DataColumn("Matricule", typeof(string)));
  4.              table.Columns.Add(new DataColumn("Nom", typeof(string)));
  5.              table.Columns.Add(new DataColumn("Prenom", typeof(string)));
  6.              table.Columns.Add(new DataColumn("Engin", typeof(string)));
  7.     for (int i=1; i<10; i++) {
  8.                  DataRow dr = table.NewRow();
  9.                  dr[0] = "mat_"+i;
  10.                  dr[1] = "nom_"+i;
  11.                  dr[2] = "prenom_"+i;
  12.                  table.Rows.Add(dr);
  13.              }
  14.         //  if (!IsPostBack) {
  15.             tableView = new DataView(table);
  16.             dgExpenses.DataSource = tableView;
  17.             BindGrid();
  18.          //}
  19. }


 
et enfin le databind :
 

Code :
  1. public void BindGrid() {
  2.     //     tableView = new DataView(table);
  3.      //    dgExpenses.DataSource = tableView;
  4.          dgExpenses.DataBind();
  5.      }

Reply

Marsh Posté le 04-02-2006 à 17:43:13   

Reply

Marsh Posté le 04-02-2006 à 19:13:16    

?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed