2011-05-04 5 views
1

J'ai un datagridview2 sur mon formulaire qui a 4 colonnes et a des données. Je veux ajouter une ligne à la fin de celui-ci et le remplir de données. Mais quand j'utilise 'Me.DataGridView2.Rows.Add()' il ajoute la ligne mais pas la fin de la vue de données. est-il un moyen d'ajouter une ligne vide à la fin de datagridview?Comment ajouter une ligne à la fin d'un DataGridview?

Répondre

0

J'ai essayé et il ajoute la ligne à la fin du DataGridView. J'ai déplacé un DataGridView et un bouton dans le formulaire. Voici le code:

private void addRowbutton_Click(object sender, EventArgs e) 
{ 
    dataGridView1.Rows.Add(); 
} 

private void Form1_Load(object sender, EventArgs e) 
{ 
    dataGridView1.Columns.Add("ID", "Product ID"); 
    dataGridView1.Columns.Add("Name", "Product Name"); 
    dataGridView1.Columns.Add("Description", "Description"); 
    dataGridView1.Columns.Add("Price", "Price"); 
    for (int i = 0; i < 2; i++) 
    { 
    DataGridViewRow row = new DataGridViewRow(); 
    row.CreateCells(dataGridView1); 
    row.Cells[0].Value = i; 
    row.Cells[1].Value = "Product " + i; 
    row.Cells[2].Value = "Description of Product " + i; 
    row.Cells[3].Value = "99.99"; 
    dataGridView1.Rows.Add(row); 
    } 
} 

Si vous remplissez le datagridview via DataBind vous ne pouvez pas ajouter une ligne d'un programme.

4

La dernière ligne de datagridview est de permettre à l'utilisateur d'ajouter une ligne s'il le souhaite.

Set DataGridView2.AllowUserToAddRows = False

Ensuite, essayez d'utiliser Me.DataGridView2.Rows.Add(). Il va ajouter un brut à la fin de la dataGridView

+0

Remarque: Ceci est également nécessaire lors de la définition du RowCount. Si vous n'avez pas la dernière ligne aura IsNew = vrai et ne peut pas être supprimé/déplacé etc. – TaW

2

Je voudrais upvote @ user1157690, mais je n'ai pas assez de réputation pour le faire. Pour ajouter une ligne vide au fond:

DataGridView2.AllowUserToAddRows = false; 
for (int i = 0; i < 10; i++) 
{ 
    DataGridView2.Rows.Add(); 
} 
DataGridView2.AllowUserToAddRows = true; 

Cela vous permettra d'entrer dans 10 lignes vides par programmation dans l'ordre chronologique du plus ancien au plus récent, tout en permettant à l'utilisateur d'entrer des lignes supplémentaires si nécessaire. C'est la meilleure méthode que je connaisse pour permettre la flexibilité de l'utilisateur et la cohérence du programmeur.

Questions connexes