2010-03-07 24 views

Respuesta

16

Usted puede acceder a cualquier célula de la DG V de la siguiente manera:

dataGridView1.Rows[rowIndex].Cells[columnIndex].Value = value; 

Pero usu aliado, es mejor usar el enlace de datos: vincula el DGV a una fuente de datos (DataTable, colección ...) a través de la propiedad DataSource, y solo trabaja en la fuente de datos en sí. El DataGridView reflejará automáticamente los cambios y los cambios realizados en el DataGridView se reflejará en la fuente de datos

+0

En el que incluso podemos editar y agregar valor y guardarlo en la base de datos – SurajSing

11

Este es el código perfecto, pero no puede añadir una nueva fila:

dataGridView1.Rows[rowIndex].Cells[columnIndex].Value = value; 

Pero este código puede insertar una nueva fila:

this.dataGridView1.Rows.Add(); 
this.dataGridView1.Rows[0].Cells[1].Value = "1"; 
this.dataGridView1.Rows[0].Cells[2].Value = "Baqar"; 
+0

Estoy bastante seguro de que el índice no se corrigió en el segundo ejemplo. – quantum

+0

¿Entonces no es perfecto porque no puede agregar una nueva fila? :) –

0

Puede usar esta función si desea agregar los datos en la base de datos, con un botón. Espero que ayude

// dgvBill is name of DataGridView 

string StrQuery; 
try 
{ 
    using (SqlConnection conn = new SqlConnection(ConnectingString)) 
    { 
     using (SqlCommand comm = new SqlCommand()) 
     { 
      comm.Connection = conn; 
      conn.Open(); 
      for (int i = 0; i < dgvBill.Rows.Count; i++) 
      { 
       StrQuery = @"INSERT INTO tblBillDetails (IdBill, productID, quantity, price, total) VALUES ('" + IdBillVar+ "','" + dgvBill.Rows[i].Cells[0].Value + "', '" + dgvBill.Rows[i].Cells[4].Value + "', '" + dgvBill.Rows[i].Cells[3].Value + "', '" + dgvBill.Rows[i].Cells[2].Value + "');"; 
       comm.CommandText = StrQuery; 
       comm.ExecuteNonQuery();   
      } 
     } 
    } 
} 
catch (Exception err) 
{ 
    MessageBox.Show(err.Message , "Error !"); 
} 
3

Por alguna razón que no podía añadir números (en formato de cadena) a la DataGridView pero esto funcionó para mí espero que ayude a alguien!

//dataGridView1.Rows[RowCount].Cells[0].Value = FEString3;//This was not adding Stringed Numbers like "1","2","3".... 
DataGridViewCell NewCell = new DataGridViewTextBoxCell();//Create New Cell 
NewCell.Value = FEString3;//Set Cell Value 
DataGridViewRow NewRow = new DataGridViewRow();//Create New Row 
NewRow.Cells.Add(NewCell);//Add Cell to Row 
dataGridView1.Rows.Add(NewRow);//Add Row To Datagrid 
0
int index= datagridview.rows.add(); 
datagridview.rows[index].cells[1].value=1; 
datagridview.rows[index].cells[2].value="a"; 
datagridview.rows[index].cells[3].value="b"; 

esperanza esta ayuda! :)

Cuestiones relacionadas