test
public int getRowIndex(DataRow dr, DataTable dt)
{
int lowIndex = 0;
int heightIndex = dt.Rows.Count - 1;
int middleIndex = 0;
int tmp = 0;
bool tempLow = false;
while (lowIndex <= heightIndex)
{
tmp = middleIndex;
tempLow = false;
middleIndex = lowIndex + (heightIndex - lowIndex) / 2;
if ((int)dt.Rows[middleIndex][0] == (int)dr[0])
{
middleIndex = middleIndex + 1;
break;
}
if ((int)dt.Rows[middleIndex][0] > (int)dr[0])
{
heightIndex = middleIndex - 1;
}
else
{
tempLow = true;
lowIndex = middleIndex + 1;
}
if (lowIndex >= heightIndex)
{
if (tempLow == true)
{
middleIndex += 1;
}
}
}
return middleIndex;
}