2011-08-25 30 views
0

我試圖通過單擊按鈕將選定的行從一個DGV移動到另一個DGV。DataGridView移動

我真的不知道從哪裏開始..

我有一個由數據源綁定兩個單獨DGVs ..

choiceDGV.DataSource = theChoiceList; 
universalDGV.DataSource = theUniversalList; 

我想在choiceDGV移動任何選定的項目通過點擊一個按鈕到univeralDGV。我需要確保選定的行從一個DGV中刪除並添加到第二個DGV。

兩個DataGridView都有相同數量的列。

+0

可能的重複http://stackoverflow.com/questions/5035865/how-do-i-move-row-from-one-datagridview-to-another-datagridview – saber

+0

@ S.Amani:我試過這個帖子,它沒有爲我工作。 – theNoobGuy

回答

2

你嘗試:

foreach (DataGridViewRow row in choiceDGV.SelectedRows) 
{ 
    universalDGV.Rows.Add(row); 
    choiceDGV.Rows.Delete(row); 
} 

或(編輯:一個DataGridViewRow沒有ItemArray不幸):

foreach (DataGridViewRow row in choiceDGV.SelectedRows) 
{ 
    object[] items = new object [row.Cells.Count]; 
    for (int i = 0; i < row.Cells.Count; i++) 
     items[i] = row.Cells[i].Value; 
    universalDGV.Rows.Add(items); 
    choiceDGV.Rows.Delete(row); 
} 
+0

我試過這樣做,邏輯似乎會工作..它只是不移動任何東西。我想知道爲什麼它不..嗯 – theNoobGuy

+0

我想通過點擊單個單元格時需要選擇整行。我用這個[link](http://stackoverflow.com/questions/285829/datagridview-how-to-focus-the-whole-row-instead-of-a-single-cell)來做到這一點。所以,現在我得到的錯誤是:'當控件是數據綁定時,行不能以編程方式添加到DataGridView的行集合中。' – theNoobGuy

+0

我在其他答案中查看了您的評論,並發現數據源中的數據類型,所以我會盡力做到: theUniversalList.Add(new LoadLine(items [0],items [1],.../*或LoadLine構造函數接受的任何形式* /));而不是universalDGV.Rows.Add(項目);然後是UniversalList.EndEdit()(不確定它是否真的需要)並重新綁定DGV。希望有幫助 – slawekwin

1

我看不到問題。你只需要將你喜歡的項目移動到onclick按鈕處理程序中的UniversalList並在兩個datagridview上調用.DataBind()。 換句話說,你必須打表(數據源),而不是數據網格視圖

+0

我該怎麼辦? – theNoobGuy

+0

你可以請張貼一些代碼嗎? –

+0

你想要看什麼代碼?服務器端爲 – theNoobGuy

相關問題