Imposible establecer la fila visible como falsa de una vista de tabla de datos

Tengo un DataGridView donde establezco DataSource :

 taskerEntities te = new taskerEntities(); var OMsMasterDescriptiveIndicators = te.MyTable.Select(x => new lccls {Id = x.Id, name = x.name }).ToList(); MyGrid.DataSource = OMsMasterDescriptiveIndicators; 

con mi class lccls como

 public class lccls { public string Id { get; set; } public Nullable name { get; set; } } 

En un determinado evento, quiero que la fila actual sea invisible:

  MyGrid.Rows[5].Visible = false; 

Pero no puedo hacer esto. En su lugar, se lanza una excepción con el siguiente mensaje de error:

La fila asociada a la posición del administrador de divisas no puede hacerse invisible

Sospecho que el motivo está relacionado con la configuración de DataSource , pero ¿por qué?

Después de buscar mucho, obtuve la solución

 CurrencyManager currencyManager1 = (CurrencyManager)BindingContext[MyGrid.DataSource]; currencyManager1.SuspendBinding(); MyGrid.Rows[5].Visible = false; currencyManager1.ResumeBinding(); 

No se puede establecer la propiedad visible de la fila DataGridView en falso cuando el índice de fila actual se encontrará con dicho error si se intenta ocultar la celda actual

soulution:

cuando su origen de DatosDataGridView no es nulo:

  CurrencyManager currencyManager1 = (CurrencyManager)BindingContext[yourDataGridView.DataSource]; currencyManager1.SuspendBinding(); yourDataGridView.Rows[Target Index].Visible = false; currencyManager1.ResumeBinding(); 

cuando su origen de datos DataGridView es nulo:

  yourDataGridView.CurrentCell = null; yourDataGridView.Rows[Target Index].Visible = false; 

Tengo un ejemplo para U. Tengo una vista de cuadrícula de datos que puede ser una fila multiseleccionada. Cuando hago clic en el botón para ver la fila falsa que seleccionó. Prueba esto:

 foreach (DataGridViewRow row in dataGridView1.SelectedRows) { CurrencyManager currencyManager1 =(CurrencyManager)BindingContext[dataGridView1.DataSource]; currencyManager1.SuspendBinding(); dataGridView1.CurrentCell = null; row.Visible = false; } dataGridView1.Refresh(); 

Recuerde establecer la propiedad SelectionMode: FullRowSelect