2013-03-14 20 views
0

一個業餘愛好者試圖完成我的第一個真正的應用程序,所以提前謝謝你,並道歉,如果這是一個noobie問題。DataGridView的拖放 - 基於用戶活動的更新列表

我有一個使用拖放的datagridview,可以使用Team Class中的數據和基於索引爲List中的項分配值的字典填充。我還沒有實現綁定,因爲我沒有得到它與拖放行重新排序工作。

teamList = new List<Team>(){ 
    new Team("Redskins","WAS", "Washington"), 
    new Team("Cowboys", "DAL", "Dallas"), 
    new Team("Eagles", "PHI", "Philadelphia"), 
    new Team("Giants", "NYG", "New York"), 
    new Team("Packers", "GB", "Green Bay") 
}; 

class Team 
{ 
    public string Mascot { get; private set; } 
    public string Key { get; private set; } 
    public string City { get; private set; } 
} 

Dictionary<int, int> powerValues = new Dictionary<int, int>(){ 
    {1, 113}, 
    {2, 110}, 
    {3, 109}, 
    {4, 108}, 
    {5, 107} 
}; 

private void printValues() 
{ // add Team to DGV wiht PowerRank as index+1 and PowerValue based on Dictionary 
    int i = 0; 
    foreach (Team team in TeamList) 
    {     
     // add all data to a datagrid view 
     dataGridView1.Rows.Add(i+1, team.Mascot,powerValues[teamList.IndexOf(team) + 1]); //set the rank 
     i++; 
    } 
} 

一旦我得到了這一點,我試圖做兩件事情:

1) Update List<Team> based on drag and drop change 
2) Re-assign PowerRank and PowerValue based on new index of Team 

我已經試過幾件事情都無濟於事 - 任何想法或點在正確的方向?

+0

不[此](http://stackoverflow.com/questions/1620947/how-could-i-drag-and-drop-datagridview-rows-under-each-other)幫幫我? – 2013-03-14 03:52:02

+0

我使用該帖子來幫助實現拖放,但我仍然無法讓它與綁定列表一起工作 - 不支持重新排序。它還引用重新分配「優先級」屬性,但我沒有看到有關它是如何實際完成的任何細節。 – ClintMc 2013-03-14 14:59:46

回答

0

我已經通過一種新方法得到了#2,但它並不是我希望如此開放以進行改進的優雅解決方案。仍然工作在#2

private void reEstablishRanking() 
    { 
     for (int i = 0; i < defaultPR.TeamList.Count; i++) 
     { 
      dataGridView1.Rows[i].Cells["PowerRank"].Value = (i + 1); 
      dataGridView1.Rows[i].Cells["PowerValue"].Value = defaultPR.PRScores[i + 1]; 
     } 
    }