2010-03-07 3 views

ответ

16

Вы можете получить доступ к любой ячейке DGV следующим образом:

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

Но УлГУ ally лучше использовать привязку данных: вы связываете DGV с источником данных (DataTable, коллекция ...) через свойство DataSource и работаете только с самим источником данных. DataGridView будет автоматически отражать изменения, и изменения, сделанные на DataGridView будут отражены на источнике данных

+0

На что мы можем отредактировать и добавить значение и сохранить его в базе данных – SurajSing

11

Это идеальный код, но он не может добавить новую строку:

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

Но этот код может вставить новая строка:

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

Я уверен, что во втором примере индекс не зафиксирован. – quantum

+0

Так что это не идеально, потому что он не может добавить новую строку? :) –

0

Вы можете использовать эту функцию, если хотите добавить данные в базу данных с помощью кнопки. Надеюсь, это поможет.

// 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

По некоторым причинам я не мог добавить номера (в строки Format) в DataGridView Но это работает для меня Надеюсь, что это кому-то помочь!

//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"; 

надеюсь, что это поможет! :)

Смежные вопросы