查看用户在屏幕c#上所做的更改?

时间:2012-02-24 20:39:02

标签: c# asp.net

我有一个gridview,用户可以在其中输入值并保存所做的更改。我想向用户显示他到目前为止在网格中所做的更改,并遍历他对下一次和之前按钮点击的更改,例如我们在TFS和其他比较工具中的操作。

您能否建议我如何在c#中实现此比较功能? 是否有任何开源dll可用于进行比较并遍历更改。任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分: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属性设置。