Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Ordinare una datagrid [vb6]

    salve a tutti!

    io ho una datagrid che riempio grazie ad Adodc prendendo i dati da un db di access.

    e tutto ok modifico i dati inseriti,tutto perfetto.

    ho due domande...e' possibile filtarli? e cliccando nella intestazione di colonna (HeadClick) ordinarli?

    se uso rs farei cosi....

    Static bAscOrder As Boolean
    Static iLastColIndex As Integer
    If iLastColIndex = ColIndex Then
    Rem inverto l'ordine
    bAscOrder = Not bAscOrder
    End If
    rs.Sort = rs.Fields(ColIndex).Name & IIf(bAscOrder, " ASC", " DESC")

    iLastColIndex = ColIndex

    exit_sub:

    ma siccome carico il db con adodc e lo collego alla datagrid non so come fare..

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Per ottenere i dati che vuoi ordinati come vuoi, č meglio utilizzare una

    SELECT ... WHERE ... ORDER BY ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    Quell' rs č un recordset. Se guardi meglio lā dove hai trovato quelle righe di codice, vedrai che da qualche parte viene assegnato alla proprietā DataSource della DataGrid.
    Non č indispensabile usare il controllo AdoDc, ma, nel caso improbabile che dovesse servire a qualche altra cosa, esso ha la proprietā Recordset.

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Devi modificare la proprietā RecordSource (se non sbaglio č quella) comunque č quella dove scrivi la SELECT (non uso ADODC, per fortuna), indicando l'ORDER BY.
    Esempio:

    codice:
    SELECT * FROM tabella ORDER BY campo ASC/DESC
    Ciao

  5. #5
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    Ciao , questo codice dovrebbe fare al caso tuo , la pressione su una delle colonne del datagrid
    provoca un not di ordinamento ascendente / discendente.

    codice:
    Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
        Dim strColName As String
        Static bSortAsc As Boolean
        Static strPrevCol As String
        
        strColName = DataGrid1.Columns(ColIndex).DataField
        If ColIndex = 2 Then Exit Sub
            
        If strColName = strPrevCol Then
            If bSortAsc Then
                rs.Sort = strColName & " DESC"
                bSortAsc = False
                DataGrid1.ReBind
    
            Else
                rs.Sort = strColName
                bSortAsc = True
                DataGrid1.ReBind
            End If
        Else
            rs.Sort = strColName
            bSortAsc = True
        End If
        strPrevCol = strColName
    
    End Sub

  6. #6

    Risolto

    Grazie mille.

    ora e' tutto chiaro come devo fare.

    grazie ancora.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.