Si ajouter une ligne à DataTable
DataRow row = datatable1.NewRow();
row["column2"]="column2";
row["column6"]="column6";
datatable1.Rows.Add(row);
Et si DataGridView
? ?
Si ajouter une ligne à DataTable
DataRow row = datatable1.NewRow();
row["column2"]="column2";
row["column6"]="column6";
datatable1.Rows.Add(row);
Et si DataGridView
? ?
Vous pouvez le faire :
DataGridViewRow row = (DataGridViewRow)yourDataGridView.Rows[0].Clone();
row.Cells[0].Value = "XYZ";
row.Cells[1].Value = 50.2;
yourDataGridView.Rows.Add(row);
ou :
DataGridViewRow row = (DataGridViewRow)yourDataGridView.Rows[0].Clone();
row.Cells["Column2"].Value = "XYZ";
row.Cells["Column6"].Value = 50.2;
yourDataGridView.Rows.Add(row);
Une autre façon :
this.dataGridView1.Rows.Add("five", "six", "seven","eight");
this.dataGridView1.Rows.Insert(0, "one", "two", "three", "four");
De : http://msdn.microsoft.com/en-us/library/system.Windows.forms.datagridview.rows.aspx
@DavidYeung Dans ce cas, la réponse de MGA peut vous aider. Quelle est votre source de données ? S'agit-il d'une table de données ? Si oui, vous pouvez ajouter la ligne à la table de données, puis rafraîchir la source de données.
Vous ne pouvez pas référencer directement une colonne par son nom comme vous l'avez fait : row.Cells["Column2"].Value = "XYZ" ; ... Vous devez d'abord consulter l'index : row.Cells[yourDataGridView.Columns["Column2"].Index].Value = "XYZ" ;
Merci, cela fonctionne très bien si vous avez un simple DataGridView à colonne unique pour de simples listes de texte modifiables.
Cela fonctionne très bien dans le cas où vous n'avez pas de source de données assignée à la vue de la grille.
Les rangs ne peuvent pas être ajoutés de manière programmatique à la collection de rangs du DataGridView lorsque le contrôle est lié aux données.
Comme ça :
dataGridView1.Columns[0].Name = "column2";
dataGridView1.Columns[1].Name = "column6";
string[] row1 = new string[] { "column2 value", "column6 value" };
dataGridView1.Rows.Add(row1);
Ou bien vous devez définir les valeurs individuellement en utilisant la méthode appropriée. .Rows()
comme ceci :
dataGridView1.Rows[1].Cells[0].Value = "cell value";
Merci. si le datagridview a 30 colonnes, mais que je veux juste ajouter la valeur à la colonne2 et à la colonne6 et que le reste reste reste nul ou vide. comment puis-je faire cela ??
@DavidYeung, Bien sûr que vous pouvez : dataGridView1.Rows[1].Cells[0].Value = "cell value"
;
Ajout d'une nouvelle ligne dans un DGV ne comportant aucune ligne avec Ajouter() soulève SelectionChanged avant de pouvoir insérer des données (ou lier un objet dans la propriété Tag).
Créer une rangée de clones à partir de RowTemplate est plus sûr, je pense :
//assuming that you created columns (via code or designer) in myDGV
DataGridViewRow row = (DataGridViewRow) myDGV.RowTemplate.Clone();
row.CreateCells(myDGV, "cell1", "cell2", "cell3");
myDGV.Rows.Add(row);
Markand : Appelez DataGridViewRow.CreateCells pour initialiser votre collection de cellules.
dataGridView1.ColumnCount = 3;
dataGridView1.Columns[0].Name = "Product ID";
dataGridView1.Columns[1].Name = "Product Name";
dataGridView1.Columns[2].Name = "Product Price";
string[] row = new string[] { "1", "Product 1", "1000" };
dataGridView1.Rows.Add(row);
SOURCE COMPLÈTE : C# Datagridview ajouter des lignes et des colonnes
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
3 votes
Vous pouvez ajouter les données d'un tableau de données à un tableau de données en définissant simplement la source de données du tableau de données comme étant le tableau de données.
datagridview1.DataSource = yourDataTable