61 votes

Insérer une nouvelle ligne dans DataTable

J’ai une table de données remplie de données du personnel comme..

Je veux modifier pour que le résultat soit sth like..

pour conclure, je dois insérer la ligne totale à la fin de chaque dossier du personnel.

Ma question est donc de savoir comment insérer une ligne dans une table de données. Tkz..

106voto

samar Points 2182

@William Vous pouvez utiliser la méthode NewRow de la table de données pour obtenir une ligne de données vide et avec le schéma comme celui de la table de données. Vous pouvez remplir cette ligne de données, puis ajouter la ligne à la table de données à l’aide de OU . Ce qui suit est un code de stub que vous pouvez modifier selon votre convenance.

73voto

Timwi Points 30896
// get the data table
DataTable dt = ...;

// generate the data you want to insert
DataRow toInsert = dt.NewRow();

// insert in the desired place
dt.Rows.InsertAt(toInsert, index);

30voto

gpaoli Points 829
// create table
var dt = new System.Data.DataTable("tableName");

// create fields
dt.Columns.Add("field1", typeof(int));
dt.Columns.Add("field2", typeof(string));
dt.Columns.Add("field3", typeof(DateTime));

// insert row values
dt.Rows.Add(new Object[]{
                123456,
                "test",
                DateTime.Now
           });

1voto

Willy David Jr Points 4063

Vous pouvez le faire, j’utilise

Tableau de données 1.10.5

en utilisant ce code :

Voici comment j’insère un nouvel enregistrement sur mon DataTable à l’aide de row.add (Ma table comporte 10 colonnes), qui peut également incluir des éléments de balise HTML :

Pour plusieurs insertions en même temps, utilisez rows.add à la place :

1voto

Uttam Kar Points 31
In c# following code insert data into datatable on specified position

DataTable dt = new DataTable();
dt.Columns.Add("SL");
dt.Columns.Add("Amount");

dt.rows.add(1, 1000)
dt.rows.add(2, 2000)

dt.Rows.InsertAt(dt.NewRow(), 3);

var rowPosition = 3;
dt.Rows[rowPosition][dt.Columns.IndexOf("SL")] = 3;
dt.Rows[rowPosition][dt.Columns.IndexOf("Amount")] = 3000;

Prograide.com

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.

Powered by:

X