我有一个gridview,用户可以在其中输入值并保存所做的更改。我想向用户显示他到目前为止在网格中所做的更改,并遍历他对下一次和之前按钮点击的更改,例如我们在TFS和其他比较工具中的操作。
您能否建议我如何在c#中实现此比较功能? 是否有任何开源dll可用于进行比较并遍历更改。任何帮助将不胜感激。谢谢。
答案 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属性设置。