2017-07-24 85 views
0

我正在創建一個程序來跟蹤我們公司的IT資產。每個項目都有自己的行,所以我們可以分別跟蹤它的位置和名稱。我想給用戶複製和複製行的選項,所以他們不必爲50根電源線輸入完全相同的東西。當我嘗試使用datagridview.rows.addcopy時,出現一條錯誤消息,指出無法以編程方式將行添加到數據綁定的控件中。有沒有辦法解決這個問題?.AddCopy在數據綁定中datagridview

+0

是的,將新行添加到數據源中,如消息所示。 DGV只是向用戶顯示數據視圖的手段 – Plutonix

+0

@Plutonix工作完美謝謝 – tatoes

回答

0

您可以將DataGridView.DataSource設置爲DataTable。 然後,當用戶在datagridview中選擇一行時,首先應將內容 作爲新行添加到數據表中,並再次將datagridview.datasource設置爲該數據表,則會反映該更改。除此之外,您應該編寫代碼來更新數據庫中的基礎表。

假設datagridview(dgv)將其DataSource設置爲DataTable dt。

code: 您可以調用此方法爲:copyRow(dgv.CurrentRow);

private void copyRow(Int32 irow) 
{ 
    DataRow dr = dt.Rows[irow]; 
    //if you have a unique identifier for this row, then 
    //before adding as a new row , generate a new id 
    //replace the current id in this row with this new value 
    //assuming 0 element of dr has the unique id, set dr[0] = <new id>; 
    dt.Rows.Add(dr); 
    //write code to submit the changes done to DataTable, back to database 

    dgv.DataSource = dt; 

}