Como diz a mensagem de erro, o valor da célula é
DBNull.Value e não pode converter disso para o que você quiser (neste caso, um long ou um int ). Você precisa verificar se há DBNull antes de converter/lançar o número:Int64 id_riga = 0;
object value = (sender as DataGridView).Rows[e.RowIndex].Cells["column_ID"].Value;
if(value != DBNull.Value)
id_riga = Convert.ToInt64(value);
Como isso adiciona uma sobrecarga irritante, se você fizer isso, provavelmente desejará criar um método auxiliar que faça isso por você.
public static long? getLongFromDB(object value)
{
if (value == DBNull.Value) return null;
return Convert.ToInt64(value);
}
Então seu código pode ser:
Int64 id_riga = getLongFromDB((sender as DataGridView).Rows[e.RowIndex].Cells["column_ID"].Value)
.GetValueOrDefault();