2010-11-12 4 views
0

EXACT double de Datagrid View Button repeatDatagrid Voir Bouton répète

J'ai ajouté le bouton à DataGrid vue, mais chaque fois que la fonction est appelée plus d'une fois, puis nouveau bouton ajoute que je dois arrêter cet ajout

void AddtoGrid() 
    { 
     try 
     {     
      table = new DataTable(); 
      bcol = new DataGridViewButtonColumn(); 
      bcol.HeaderText = "Action "; 
      bcol.Text = "Delete"; 
      bcol.Name = "deleteUserButton"; 
      bcol.UseColumnTextForButtonValue = true;     

      table.Columns.Add("Name"); 
      table.Columns.Add("Type"); 
      table.Columns.Add("Status"); 
      table.Columns.Add("Date Created"); 


      for (int i = 0; i < userAction.UserName.ToArray().Length; i++) 
      { 
       row = table.NewRow(); 
       asc.Add(userAction.UserName[i]); 
       row["Name"] = userAction.UserName[i]; 
       row["Type"] = userAction.UserType[i]; 
       row["Status"] = userAction.UserStatus[i]; 
       row["Date Created"] = userAction.DateCrea[i]; 
       table.Rows.Add(row); 
      } 

      UsersView.DataSource = table; 
      UsersView.AllowUserToAddRows = false;//To remove extra row at the end 
      UsersView.Columns.Add(bcol); 
     } 
     catch (Exception ca) 
     { 
      MessageBox.Show(ca.ToString()); 
     } 
    }//End Function for Getting Present Users 
+0

** Exact ** duplicata de [Répétition du bouton d'affichage Datagrid] (http://stackoverflow.com/questions/4167136/datagrid-view-button-repeat) –

Répondre

1

la méthode de Split en deux:

1.) Pour configurer la structure de grille 2.) Pour ajouter de nouvelles lignes

public void SetupDataGridView() 
{ 
      table = new DataTable(); 
      bcol = new DataGridViewButtonColumn(); 
      bcol.HeaderText = "Action "; 
      bcol.Text = "Delete"; 
      bcol.Name = "deleteUserButton"; 
      bcol.UseColumnTextForButtonValue = true;     

      table.Columns.Add("Name"); 
      table.Columns.Add("Type"); 
      table.Columns.Add("Status"); 
      table.Columns.Add("Date Created"); 

      UsersView.DataSource = table; 
      UsersView.AllowUserToAddRows = false;//To remove extra row at the end 
      UsersView.Columns.Add(bcol); 
} 

public void PopulateDataGridView() 
{ 

      for (int i = 0; i < userAction.UserName.ToArray().Length; i++) 
      { 
       row = table.NewRow(); 
       asc.Add(userAction.UserName[i]); 
       row["Name"] = userAction.UserName[i]; 
       row["Type"] = userAction.UserType[i]; 
       row["Status"] = userAction.UserStatus[i]; 
       row["Date Created"] = userAction.DateCrea[i]; 
       table.Rows.Add(row); 
      } 

} 

Et cela est encore une approche sous-optimale, mais c'est le plus tout le monde peut le faire pour quelqu'un avec vos compétences.

Vous manquez de connaissances de base en programmation et en programmation orientée objet en particulier. Obtenez un livre (par exemple, le livre de chris vend sur Windows Forms), lisez-le, puis revenez. Vous en bénéficierez!

+0

Falcon? Plus comme Blue Falcon. –

+0

@Jamie L. lol, faucon bleu pour avoir dit la vérité. – Falcon

+0

Je suppose. Bonne réponse de toute façon. –

Questions connexes