2012-05-22 41 views
0

我用一個表中的DGV下面的表添加到一個DataGridView上一個WinForm:添加行勢必

void PopulateGridView() { 
     conn = new SqlConnection(ConfigurationManager.ConnectionStrings["IMS"].ConnectionString); 
     myAdapt = new SqlDataAdapter("SELECT * FROM FrontDesk.dbo.tb_xxx", conn); 
     mySet = new DataSet(); 
     myAdapt.Fill(mySet, "AvailableValues"); 
     myTable = mySet.Tables["AvailableValues"]; 

     this.uxChargeBackDataGridView.DataSource = myTable; 
     this.uxChargeBackDataGridView.Columns["RefKey"].Visible = false; 
    } 

有在表中,它只有2場5行 - 字段RefKey對於DGV是隱藏的,並且是基礎表的主鍵。

爲什麼以下不工作? Add似乎是DGV的行集合,用於添加行的性質:由於電網使用數據表作爲源

private void button1_Click(object sender, EventArgs e) 
    { 
     uxChargeBackDataGridView.Rows.Add(6, "dre"); 
    } 
+1

嘗試向底層表格而不是視圖添加一行。如果需要刷新視圖。 – Davio

回答

0

,你就必須將該行添加到表中。網格自動反映:

DataTable table = (DataTable)uxChargeBackDataGridView.DataSource; 
DataRow row = table.NewRow(); 
row[0] = 6; 
row[1] = "dre"; 
table.Rows.Add(row); 

使用在數據表中NewRow()函數來獲得具有由數據表所使用的模式的DataRow對象。

您就不必創建table參考,如果你移動你的mySetmyTable變量的形式級範圍,那麼你就可以只使用myTable.Rows.Add(row);代替。