2012-02-24 35 views
0

我有一個gridview,用戶將能夠輸入值並保存所做的更改。我想向用戶展示他迄今爲止在網格中所做的更改,並通過對下一個和上一個按鈕單擊的更改(如我們在TFS和其他比較工具中所做的操作)來遍歷他。查看屏幕上用戶所做的更改c#?

你能建議我如何在c#中實現這種比較功能嗎? 是否有任何開源dll可用於比較和遍歷所做的更改。任何幫助將不勝感激..謝謝。

回答

0

我不認爲有任何開源的需要。你是數據的所有者,所以我假設你知道如何自己比較行。

您只需將所有修改行的索引號放入數組/列表中,然後按列表中的位置就可以確定修改了哪一行。

這看起來更好代碼:

class ModifiedRows 
{ 
    int m_position = 0; 
    List<int> m_modifiedRowNumbersList; 
    public ModifiedRows(List<int> modifiedRowNumbersList) 
    { 
     m_modifiedRowNumbersList = modifiedRowNumbersList; 
    } 

    public bool CanMoveToNextIndex { get { return m_position < m_modifiedRowNumbersList.Count; } } 
    public bool CanMoveToPrevIndex { get { return m_position > 0; } } 

    public void MoveToNextIndex() 
    { 
     if (CanMoveToNextIndex) 
     { 
      m_position++; 
     } 
    } 

    public void MoveToPrevIndex() 
    { 
     if (CanMoveToPrevIndex) 
     { 
      m_position--; 
     } 
    } 

    public int CurrentModifiedRowIndex 
    { 
     get 
     { 
      return m_modifiedRowNumbersList[m_position]; 
     } 
    } 
} 
  • 你可以把你的表格上一個/下一個按鈕,觸摸他們的Click事件調用MoveToNextIndex()/MoveToPrevIndex()

  • 假設您正在討論DataGridView,可以根據您可以從ModifiedRows.CurrentModifiedRowIndex獲取的CurrentCell屬性進行設置。