maybe this is old but:
@A_Griffin
yes this way is better and there is no problem with making it visible again (@Chase Viking).
Example:
var item = dgv.Rows.Cast<DataGridViewRow>().FirstOrDefault(c => c.Cells[x].Value?.ToString() == X);
if (item != null)
{
availableIpsDataGridView.CurrentCell = null;
item.Visible = false;
}
and visibling it with:
var item = dgv.Rows.Cast<DataGridViewRow>().FirstOrDefault(c => c.Cells[x].Value?.ToString() == X);
if (item != null)
{
item.Visible = true;
}