none
Ordenar datagrid al cargar el form RRS feed

Respuestas

  • pero porque no la ordenas desde los datos

    si tienes uan query podrias usar el ORDER BY para ordenar por el campo que quieras

    SELECT * FROM Tabla ORDER BY campo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 20 de diciembre de 2012 12:11
  • Normalmente al DGV (Windows Forms, ¿cierto?) se le asigna una colección de objetos para mostrar al usuario.  Si esta lista es List<T>, simplemente invoque el método List<T>.Sort() para ordenar los objetos contenidos en ella según el ordenamiento por defecto del tipo de datos T.

    Si el tipo de datos T es una clase personalizada, simplemente implemente IComparable<T> para proveer un ordenamiento por defecto.  Si necesitara más ordenamientos simplemente cree comparadores (clases que implementan IComparer<T>).

    También existe una sobrecarga de Sort() que acepta delegados de funciones que hacen las veces del comparador, si es que lo encuentra más sencillo de hacer.

    Finalmente le cuento que los motores de base de datos suelen ser muy buenos ordenando datos y por lo tanto sería interesante usar el ORDER BY en la sentencia SQL si es que sus datos provienen de una base de datos.  Claro está que si sus datos no vienen en base de datos necesitará optar por ordenar según le comenté anteriormente.  También necesitaría ordenar como le comento si es que desea minimizar o eliminar el uso de SQL dinámico en caso de necesitar permitir el ordenamiento según distintos atributos/columnas.  También es bueno ordenar en C# si es necesario reducir la carga de trabajo del servidor SQL, que suele considerarse una buena práctica.


    Jose R. MCP
    Code Samples

    jueves, 20 de diciembre de 2012 13:55
    Moderador
  • Podes, en el TableAdapter del dataset, crear tu propio metodo FillBy, podría ser un FillByOrdenado y a la sentencia del select * from TABLA agregarle un ORDER BY, luego en el LOAD colocar this.TU_TABLATableAdapter.FillByOrdenado(this.TU_DATASET.TU_TABLA);

    eso provocaría que al cargar el formulario se te carguen los datos ordenados.


    carlos márquez

    jueves, 20 de diciembre de 2012 14:34

Todas las respuestas

  • pero porque no la ordenas desde los datos

    si tienes uan query podrias usar el ORDER BY para ordenar por el campo que quieras

    SELECT * FROM Tabla ORDER BY campo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 20 de diciembre de 2012 12:11
  • Normalmente al DGV (Windows Forms, ¿cierto?) se le asigna una colección de objetos para mostrar al usuario.  Si esta lista es List<T>, simplemente invoque el método List<T>.Sort() para ordenar los objetos contenidos en ella según el ordenamiento por defecto del tipo de datos T.

    Si el tipo de datos T es una clase personalizada, simplemente implemente IComparable<T> para proveer un ordenamiento por defecto.  Si necesitara más ordenamientos simplemente cree comparadores (clases que implementan IComparer<T>).

    También existe una sobrecarga de Sort() que acepta delegados de funciones que hacen las veces del comparador, si es que lo encuentra más sencillo de hacer.

    Finalmente le cuento que los motores de base de datos suelen ser muy buenos ordenando datos y por lo tanto sería interesante usar el ORDER BY en la sentencia SQL si es que sus datos provienen de una base de datos.  Claro está que si sus datos no vienen en base de datos necesitará optar por ordenar según le comenté anteriormente.  También necesitaría ordenar como le comento si es que desea minimizar o eliminar el uso de SQL dinámico en caso de necesitar permitir el ordenamiento según distintos atributos/columnas.  También es bueno ordenar en C# si es necesario reducir la carga de trabajo del servidor SQL, que suele considerarse una buena práctica.


    Jose R. MCP
    Code Samples

    jueves, 20 de diciembre de 2012 13:55
    Moderador
  • Podes, en el TableAdapter del dataset, crear tu propio metodo FillBy, podría ser un FillByOrdenado y a la sentencia del select * from TABLA agregarle un ORDER BY, luego en el LOAD colocar this.TU_TABLATableAdapter.FillByOrdenado(this.TU_DATASET.TU_TABLA);

    eso provocaría que al cargar el formulario se te carguen los datos ordenados.


    carlos márquez

    jueves, 20 de diciembre de 2012 14:34