none
Datagridview columna invisible RRS feed

  • Pregunta

  • Hola Como va ?. Tengo una consulta agrupada en linq que es esta

    var lstSes = from se in db.SesionesPacientes
                             join ct in db.ctaCtePacientes on se.CodigoId equals ct.MovimientoId
                             join pa in db.Pacientes on se.PacienteId equals pa.CodigoId
                             join pra in db.Practicas on se.PracticaId equals pra.CodigoId
                             join os in db.ObraSociales on se.ObraSocialId equals os.CodigoId
                             where se.EstaEliminado == false && se.Habilitado == true && se.Cobrado == true && se.Utilizado == false
                             group se by
                             new
                             {
                                 se.Id,
                                 se.CodigoId,
                                 se.MovimientoId,
                                 se.PacienteId,
                                 os.NombreObraSocial,
                                 pa.Apellido,
                                 pa.Nombre,
                                 pa.Dni,
                                 se.PracticaId,
                                 pra.NombrePractica,
                                 se.SesionesRegistro,
                                 se.FechaRegistro,
                                 se.SesionesUsadas,
                                 se.FechaUsoSesion,
                                 se.SesionesRestantes,
                                 se.FechaUsoMaxima,
                                 se.Observaciones
                             } into grp
                             select new
                             {
                                 Id = grp.Key.Id,
                                 Cod = grp.Key.CodigoId,
                                 CodM = grp.Key.MovimientoId,
                                 PacienteId = grp.Key.PacienteId,
                                 ObraSocialN = grp.Key.NombreObraSocial,
                                 Apellido = grp.Key.Apellido,
                                 Nombre = grp.Key.Nombre,
                                 Dni = grp.Key.Dni,
                                 PracticaId = grp.Key.PracticaId,
                                 PracticaN = grp.Key.NombrePractica,
                                 SesionesR = grp.Key.SesionesRegistro,
                                 FechaR = grp.Key.FechaRegistro,
                                 SesionesU = grp.Key.SesionesUsadas,
                                 FechaU = grp.Key.FechaUsoSesion,
                                 SesionesRS = grp.Key.SesionesRestantes,
                                 FechaTope = grp.Key.FechaUsoMaxima,
                                 Observaciones = grp.Key.Observaciones
                             };
    
                dgvGrilla.DataSource = lstSes.OrderByDescending(x => x.Cod).ToList();
                FormatearGrilla1();

    Luego tengo un método

     private int? GetId()
            {
                try
                {
                    return int.Parse(dgvGrilla.Rows[dgvGrilla.CurrentRow.Index].Cells["Cod"].Value.ToString());
                }
                catch
                {
                    return null;
                }
            }

    Todo bien, pero cuando en el formato de grilla le hago esto

    dgvGrilla.Columns[0].Visible = false;

    Me arroja este error "System.NullReferenceException: 'Referencia a objeto no establecida como instancia de un objeto.'"

    YY la verdad que no necesito mostrar esa columna ni otras pero quiero obtener los campos Id.

    Alguna sugerencia desde ya gracias.

    miércoles, 26 de mayo de 2021 13:27

Respuestas

  • Hola Enzo,

    Gracias por levantar tu consulta en los foros de MSDN. Acabo de recrear el problema con un DataGridView y funciona sin problema alguno, el visible = false me oculta la columna, por lo que me hace pensar por el error que te está apareciendo que, estás leyendo una propiedad o ejecutando una función de una variable de objeto ("referencia de objeto") que no ha sido inicializada ("no establecida como instancia de un objeto"). Esto es que, declaraste una variable y la usaste sin asignarle antes un valor. Si puedes debuguea el código para verificar cual es la variable que no está inicializada.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    • Marcado como respuesta EnzoTuc40 jueves, 27 de mayo de 2021 21:45
    miércoles, 26 de mayo de 2021 18:13
    Moderador

Todas las respuestas

  • Hola Enzo,

    Gracias por levantar tu consulta en los foros de MSDN. Acabo de recrear el problema con un DataGridView y funciona sin problema alguno, el visible = false me oculta la columna, por lo que me hace pensar por el error que te está apareciendo que, estás leyendo una propiedad o ejecutando una función de una variable de objeto ("referencia de objeto") que no ha sido inicializada ("no establecida como instancia de un objeto"). Esto es que, declaraste una variable y la usaste sin asignarle antes un valor. Si puedes debuguea el código para verificar cual es la variable que no está inicializada.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    • Marcado como respuesta EnzoTuc40 jueves, 27 de mayo de 2021 21:45
    miércoles, 26 de mayo de 2021 18:13
    Moderador
  • Hola Enzo,

    Gracias por levantar tu consulta en los foros de MSDN. Acabo de recrear el problema con un DataGridView y funciona sin problema alguno, el visible = false me oculta la columna, por lo que me hace pensar por el error que te está apareciendo que, estás leyendo una propiedad o ejecutando una función de una variable de objeto ("referencia de objeto") que no ha sido inicializada ("no establecida como instancia de un objeto"). Esto es que, declaraste una variable y la usaste sin asignarle antes un valor. Si puedes debuguea el código para verificar cual es la variable que no está inicializada.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    Hola Eric voy a revisar pues tengo otros formularios similares y con consultas similares y no tengo ese error
    jueves, 27 de mayo de 2021 21:44