I believe You might be storing
int.Parse((string)grdRpt.DataKeys[gvrow.RowIndex].Value)
into a custom object. If not then you can remove this line.
and if you want to use it as a check then
if (available.Where(x => x.id == gvForCheckBox.DataKeys[gvrow.RowIndex].Value.ToString()).Any())