private int? SearchInReverseOrder(int startIndex, string searchString)
{
// Check for out of bounds roll over if required
int index;
if (startIndex < 0 || startIndex >= Revisions.RowCount)
startIndex = Revisions.RowCount - 1;
for (index = startIndex; index >= 0; --index)
{
if (GetRevision(index).MatchesSearchString(searchString))
return index;
}
// We didn't find it so start searching from the bottom
for (index = Revisions.RowCount - 1; index > startIndex; --index)
{
if (GetRevision(index).MatchesSearchString(searchString))
return index;
}
return null;
}