none
problema con AutoSizeColumnsMode en dataGridView RRS feed

  • Pregunta

  • Tengo un dataGridView donde muestro datos de una base de datos, y el problema comienzo al momento de querer ajustar la tabla al tamaño del dataGridView, lo intente con AutoSizeColumnsMode en fill y no hubo cambios,intente con otras opciones del AutoSize y ninguna afecto a la tabla, probe agregando los datos al datagridview sin tomarlos de la base de datos y funciono, como puedo hacer que funcione con la tabla que estoy tomando de la base de datos?,gracias de ante mano
    lunes, 16 de abril de 2018 1:45

Todas las respuestas

  • ¿Cuál valor de AutoSizeColumnsMode desea usar exactamente?  También muestre el código que utiliza para asignar los datos a la grilla.

    Jose R. MCP
    Code Samples

    lunes, 16 de abril de 2018 1:51
    Moderador
  • SqlConnection ConexionSql = new SqlConnection(Properties.Settings.Default.Conexion);
                ConexionSql.Open();
                SqlCommand cmdo = new SqlCommand("Select NOMBRE, GRUPO, ESPECIALIDAD, TELEFONO, [CORREO ELECTRONICO], [CARTA DE ACEPTACION], [1ER REPORTE], [2DO REPORTE], [3ER REPORTE], [REPORTE SEMESTRAL], [OFICIO], [TERMINACION] From Alumnos Where Nombre = @Nombre or Nombre Like @Nombre + N' %' or Nombre Like N'% ' + @Nombre + N' %' or Nombre Like N'% ' + @Nombre", ConexionSql);
                SqlParameter Nom = new SqlParameter("Nombre", SqlDbType.NVarChar);
                cmdo.Parameters.Add(Nom);
                Nom.Value = TBAlumno.Text;
                SqlDataAdapter DataAdapt = new SqlDataAdapter(cmdo);
                System.Data.DataTable DatosTabla = new System.Data.DataTable();
                DataAdapt.Fill(DatosTabla);
                DgvDatos.DataSource = DatosTabla;
                cmdo.ExecuteNonQuery();
                ConexionSql.Close();

    Ese es el codigo, cuando es por ese medio no me respeta el AutoSizeColumnsMode, quiero que la tabla se ajuste al tamaño de la grilla, me funciono con fill pero al mostrar los datos desde la base de datos no me lo respeta, como mencione anteriormente

    lunes, 16 de abril de 2018 3:00
  • Le faltó mencionar qué valor de AutoSizeColumnsMode desea usar.  Dice que ya le funcionó uno (aunque no con la data de la base de datos).  ¿Qué valor era?

    Jose R. MCP
    Code Samples

    lunes, 16 de abril de 2018 3:10
    Moderador
  • para que es la linea

    cmdo.ExecuteNonQuery();

    me parece que esta de mas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 16 de abril de 2018 3:16
  • ademas porque tantos filtros like con el mismo campo, eso esta mal

    string query = @"Select NOMBRE, GRUPO, ESPECIALIDAD, TELEFONO, [CORREO ELECTRONICO], 
    				[CARTA DE ACEPTACION], [1ER REPORTE], [2DO REPORTE], [3ER REPORTE], 
    				[REPORTE SEMESTRAL], [OFICIO], [TERMINACION] From Alumnos 
    				Where Nombre Like '%' + @Nombre + '%'";
    
    
    SqlCommand cmdo = new SqlCommand(query, ConexionSql);
    cmdo.Parameters.AddWithValue("@Nombre", TBAlumno.Text);
    
    SqlDataAdapter DataAdapt = new SqlDataAdapter(cmdo);
    DataTable dt = new DataTable();
    DataAdapt.Fill(dt);
    
    DgvDatos.DataSource = dt;

    defin solo un filtro por campo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 16 de abril de 2018 3:20
  • Mi codigo no es muy eficiente pero por el momento solo quiero ajustar las columnas de los datos mostrados en la grilla, antes de mostrarlos mediante la base de datos me funcionaba con dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill pero al momento de mostrar los datos de la base de datos, no me respeta esto, por ejemplo esta imagen https://www.google.com.mx/search?q=Autosizecolumnsmode.fill&source=lnms&tbm=isch&sa=X&ved=2ahUKEwj9icnK4r7aAhXrw1QKHXB4DewQ_AUoA3oECAAQBQ&biw=1366&bih=662#imgrc=s5pczo-HiZ7oTM: la tabla no llena el datagridview, yo solo quiero que se ajuste pero no se ajusta cuando muestro los datos de la base de datos, solo si los datos son locales es como me los muestra del tamaño del datagridview

    lunes, 16 de abril de 2018 12:19
  • Ya me funciono pero tuve que hacerlo por código, lo hice así... DgvDatos.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; en el Load del Formulario pero al hacerlo en las propiedades del DataGidView no sufría cambios, cabe recalcar que esto solo me sucedía al momento de mostrar los datos de una base de datos, si los datos eran agregados por código si funcionaba solo cambiando la propiedad del DataGridView, no se a que se deba esto o si es un error mio
    lunes, 16 de abril de 2018 12:52