2010-03-07 59 views
10

Tôi có DataGridView (mà giữ bất kỳ DataBase)cách chèn giá trị vào ô DataGridView?

Tôi muốn chèn thêm bất kỳ giá trị vào bất kỳ tế bào (và rằng giá trị này sẽ tiết kiệm được trên DataBase)

Làm thế nào để làm điều đó (trong C#)

cảm ơn của trước

Trả lời

16

Bạn có thể truy cập vào bất kỳ tế bào DGV như sau:

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

Nhưng USU Đồng minh tốt hơn là sử dụng databinding: bạn liên kết DGV với nguồn dữ liệu (DataTable, bộ sưu tập ...) thông qua thuộc tính DataSource và chỉ hoạt động trên nguồn dữ liệu. Các DataGridView sẽ tự động phản ánh những thay đổi, và những thay đổi được thực hiện trên DataGridView sẽ được phản ánh trên các nguồn dữ liệu

+0

Thậm chí chúng tôi có thể chỉnh sửa và thêm giá trị và lưu nó vào cơ sở dữ liệu – SurajSing

11

Đây là mã hoàn hảo nhưng nó không thể thêm một hàng mới:

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

Nhưng mã này có thể chèn một hàng mới:

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

Tôi khá chắc rằng chỉ mục không được sửa trong ví dụ thứ hai. – quantum

+0

Vì vậy, nó không hoàn hảo vì nó không thể thêm hàng mới? :) –

0

Bạn có thể sử dụng chức năng này nếu bạn muốn thêm dữ liệu vào cơ sở dữ liệu, bằng một nút. Tôi mong nó sẽ có ích.

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

Đối với một số lý do tôi có thể Không thêm số (trong Format string) để DataGridView Nhưng này làm việc cho tôi Hy vọng nó sẽ giúp một ai đó!

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

hy vọng sự giúp đỡ này! :)

Các vấn đề liên quan