verticalmente una tablix tabla services mostrar llenar hacer grupos filas datos crear contar consola como combinar columnas celdas c# datagridview datasource

c# - tablix - Imposible establecer la fila visible como falsa de una vista de tabla de datos



mostrar datos en un datagridview c# (3)

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 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<decimal> 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é?


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


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

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