2013-02-17 104 views
0

我在窗體上有兩個datagridview控件。當我們在DGV1中選擇更改時,DGV2行將根據DGV1中的ID進行過濾。現在,如果在單元格中進行更改DGV2中的一個名爲「金額」的列在DGV1中得到更新。我已經實現了這個使用單元格值更改和工作正常。爲此我使用數據表。因此,當我想保存數據庫中的dgv2中的更改。DGV2中輸入的值不保存。爲此,我也正在更改在確定年代取決於行index.Below值在DGV1數據當Datagridview值更改時更改數據表列值

 

ID Qty UnitPrice Amount 
----------------------- 

1 20 2  40 
2 40 3  120 



in DGV2 below is the data 

ID SellQty 
----------- 
1 5 
2 10 
1 15 
2 10 

所以當在DGV1任何小區內的用戶點擊DGV2行得到過濾(你可以在DGV1看到ID = 1有2值)。所有這一切都很好。下面是我在Cellvalue中編寫的代碼行,更改了DGV2,以便數據表單元也隨着我需要使用foreach循環保存在數據庫中進行更新。

dtBatch.Rows[i].SetField("SellQty", gvBatchDetails.Rows[i].Cells["SellQty"].Value); 

我使用的變量i(INT)。但噹噹用戶在進入DGV1 ID 2的I值也改變爲0第一row.Where如在數據表ID 2是在過濾行索引1.如何在這種情況下對數據表進行更改。

回答

0

我已經通過從datagridview中獲取所選行解決了該問題。

DataRow[] rowList = QuoteSalesItemSearch.dtBatch.Select("BatchItemID='" + ItemID + "'" + "and BatchNo='" + BatchNo + "'"); 
    foreach (DataRow dr in rowList) 
    dr["SellQty"] = gvBatchDetails.Rows[e.RowIndex].Cells["SellQty"].Value;