none
Como ordenar por orden numerico o orden alfabetico una coluna de un Datagridview C# RRS feed

  • Pregunta

  • Tengo un datagridview y quiero que un boton me ordene una columna ya sea la de folio por orden numerico o la de usuario por orden alfabetico, cualquiera me sirve, Estoy Trabajando con Npgsql que es muy parecido a sql server

    Este es el codigo del boton donde hago la coneccion:

    private void button1_Click(object sender, EventArgs e)
            {
                Npgsql.NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=trujillo;Database=xafr1produccion;");
                NpgsqlDataAdapter sda = new NpgsqlDataAdapter("select * from fr_tr_requisiciones_materiales ", conn);

                DataTable dtData = new DataTable();
                sda.Fill(dtData);

                this.dataGridView1.DataSource = dtData.DefaultView;
                foreach (DataGridViewRow fila in dataGridView1.Rows)
                {


                    
                }
                this.dataGridView1.Refresh();
            }

    Y si me pudieran dar ideas simples de que puedo hacer en este proyecto, ya tengo varios botones donde traigo consulta, concateno columnas, multiplico columnas, filtro columnas con cajas de texto, pongo de color la tabla dependiendo el valor del folio etc, pero necesito agregarle algunos botonesmas, cualquier idea es buena incluso si es simple y si me ayudan con el codigo se los agradeceria :)


    Gibran Trujillo Mtz

    jueves, 27 de julio de 2017 21:24

Respuestas

  • No soy muy avanzado en esto, me podrias ayudar a poner el codigo correctamente junto con el que puse en la pregunta, te lo agradeceria mucho :)

    Gibran Trujillo Mtz

    Hola, el asterisco indica que estas recuperando todas las columnas

    lo que tienes que poner en el order by es la columna por la que quieres ordenar de forma ascendete o descedente,algo como

    select * from fr_tr_requisiciones_materiales
    order by nombreusuario asc
    si nombreusuario fuera el nombre de la columna que quisieras ordenar


    Votar es agradecer.
    Saludos.
    Lima-Perú

    jueves, 27 de julio de 2017 22:03

Todas las respuestas

  • Hola 

    Lo que quieres hacer lo hace de forma automática el data gridview con el "SortExpression".


    <Columns>
    <asp:BoundField DataField="cod_er" HeaderText="Codigo" SortExpression="cod_er" >/asp:BoundField>
    
    <asp:BoundField DataField="nom_er" HeaderText="nombre" SortExpression="nom_er" >/asp:BoundField>
    
    <asp:BoundField DataField="ape_er" HeaderText="apellido" SortExpression="ape_er" >/asp:BoundField>
    
    </Columns>


    Después al presionar el nombre de la columna se ordenarán

    Saludos.

    jueves, 27 de julio de 2017 21:30
  • Hola, podrías intentar con el 

    order by


    Votar es agradecer.
    Saludos.
    Lima-Perú

    jueves, 27 de julio de 2017 21:45
  • Pero despues del ordey by de que manera lo pondria ?

    NpgsqlDataAdapter sda = new NpgsqlDataAdapter("select * from fr_tr_requisiciones_materiales ORDER BY_____?", conn);

    Pondria entre comillas y comas las filas o como?


    Gibran Trujillo Mtz

    jueves, 27 de julio de 2017 21:59
  • No soy muy avanzado en esto, me podrias ayudar a poner el codigo correctamente junto con el que puse en la pregunta, te lo agradeceria mucho :)

    Gibran Trujillo Mtz

    jueves, 27 de julio de 2017 22:00
  • No soy muy avanzado en esto, me podrias ayudar a poner el codigo correctamente junto con el que puse en la pregunta, te lo agradeceria mucho :)

    Gibran Trujillo Mtz

    Hola, el asterisco indica que estas recuperando todas las columnas

    lo que tienes que poner en el order by es la columna por la que quieres ordenar de forma ascendete o descedente,algo como

    select * from fr_tr_requisiciones_materiales
    order by nombreusuario asc
    si nombreusuario fuera el nombre de la columna que quisieras ordenar


    Votar es agradecer.
    Saludos.
    Lima-Perú

    jueves, 27 de julio de 2017 22:03
  • Muchas gracias!

    Gibran Trujillo Mtz

    jueves, 27 de julio de 2017 23:58