tabla pertenece otra net fila esta ejemplo columns agregar c# datagridview datatable datarow

c# - pertenece - ¿Cómo agregar un nuevo DataRow en DataTable?



datatable.rows c# (8)

Tengo un DataGridView enlazado a un DataTable ( DataTable enlazado a la base de datos). Necesito agregar un DataRow a la DataTable . Estoy tratando de usar el siguiente código:

dataGridViewPersons.BindingContext[table].EndCurrentEdit(); DataRow row = table.NewRow(); for (int i = 0; i < 28; i++) { row[i] = i.ToString(); }

Pero no funciona, a DataGridView nunca se le ha agregado una nueva fila. Por favor, dime, ¿cómo puedo arreglar mi código?

Gracias de antemano.


// Creando una nueva fila con la estructura de la tabla:

DataTable table = new DataTable(); DataRow row = table.NewRow(); table.Rows.Add(row);

// Dando valores a las columnas de la fila (se supone que esta fila tiene 28 columnas):

for (int i = 0; i < 28; i++) { row[i] = i.ToString(); }


Esto funciona para mí:

var table = new DataTable(); table.Rows.Add();



Si necesita copiar de otra tabla, primero debe copiar la estructura:

DataTable copyDt = existentDt.Clone(); copyDt.ImportRow(existentDt.Rows[0]);


Tienes que agregar la fila explícitamente a la tabla

table.Rows.Add(row);


try table.Rows.add(row); después de tu declaración.


Encontré los ejemplos dotnetperls en DataRow muy útiles. Fragmento de código para la nueva DataTable desde allí:

static DataTable GetTable() { // Here we create a DataTable with four columns. DataTable table = new DataTable(); table.Columns.Add("Weight", typeof(int)); table.Columns.Add("Name", typeof(string)); table.Columns.Add("Breed", typeof(string)); table.Columns.Add("Date", typeof(DateTime)); // Here we add five DataRows. table.Rows.Add(57, "Koko", "Shar Pei", DateTime.Now); table.Rows.Add(130, "Fido", "Bullmastiff", DateTime.Now); table.Rows.Add(92, "Alex", "Anatolian Shepherd Dog", DateTime.Now); table.Rows.Add(25, "Charles", "Cavalier King Charles Spaniel", DateTime.Now); table.Rows.Add(7, "Candy", "Yorkshire Terrier", DateTime.Now); return table; }


GRV.DataSource = Class1.DataTable; GRV.DataBind(); Class1.GRV.Rows[e.RowIndex].Delete(); GRV.DataSource = Class1.DataTable; GRV.DataBind();