Convert.toInt function will faile to convert null value to integer. Instead you can make use of Tryparse which will try to convert your input string to integer and if failed will default result to 0. Try with below it should resolve your issue.
int result;
bool isIntValue = Int32.TryParse(grdRpt.DataKeys[gvrow.RowIndex].Value.ToString(), out result);
index = result;