none
Ordenar Grid

    Pergunta

  • Oi pessoal!

     

    Tenho que ordenar uma grid quando clico no título da coluna.

    Exemplo: quando clicar na coluna nome, ela deve ordenar por nome, e assim vai.

    (exemplificando com um desenho bem tosco)

     

    -----------------------------------------------

    |Estrutura  |  Matrícula |   Nome   |     ==> a ação deve acontecer quando eu clicar aqui no título

    ----------------------------------------------

     10              010203       Antônio

     02              123456       Bruno  

     23              111111       Camila 

     

     

    Estou usando VB 6.0.

     

     

    Muito obrigada!

    quinta-feira, 6 de novembro de 2008 18:48

Respostas

  • Paty, se voce estivesse usando o .NET, isso ja esta desenvolvido no componente DataGridView. Mas no VB6, se estiver usando o DataGrid faz o seguinte:

     

    Crie um evento para o Grid

    Voce precisa criar uma variavel para armazenar a ultima ordem do grid, para que voce possa verificar se o usuario clicou na mesma coluna para poder ordenar os dados decrescente.

     

    Private OrdemGrid as String

     

    Private Sub SeuGrid_HeadClick(ByVal ColIndex As Integer)

        If SeuGrid.Columns(ColIndex).DataField = OrdemGrid Then
           OrdemGrid = SeuGrid.Columns(ColIndex).DataField & " Desc"
        Else
           OrdemGrid = SeuGrid.Columns(ColIndex).DataField
        End If

       'Agora voce precisa montar outro select para o grid passando o "ORDER BY " & OrdemGrid

    End Sub

     

    quinta-feira, 6 de novembro de 2008 19:15