Visualizzazione dei risultati da 1 a 4 su 4

Discussione: sort (divento matto!)

  1. #1

    sort (divento matto!)

    Sto seguendo il corso di Apogeo, e non capisco cosa sbaglio in questo esempio...(non mi funziona il sort di datagrid)
    fatemi vedere l'errore, altrimenti divento matto....ciao e grazie

    codice:
    <%@ Page Language="VB" %>
    <%@ import Namespace="system.data" %>
    <%@ import Namespace="system.data.oledb" %>
    <script runat="server">
    
        Sub Page_Load(obj As Object, e As EventArgs)
        
            'Imposta la connessione
            dim myConnection as new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\ASPNET\Data\Banking.mdb")
        
            'Apri la connessione
            dim myCommand as new OleDbDataAdapter ("select * from tblUsers", myConnection)
        
            'Riempi l'oggetto DataSet
            dim ds as DataSet=new DataSet()
            myCommand.Fill(ds,"tblUsers")
        
            'Scegli il tipo di visualizzazione e associalo al controllo del server
            datagrid1.DataSource=ds.Tables("tblUsers").DefaultView
            DataBind()
        End Sub
        
        sub datagrid1_sortcommand(obj as object, e as datagridsortcommandeventargs)
            'ordina i dati tramite la proprietà sortfield di eventargs
            datagrid1.databind()
        end sub
    
    </script>
    <html>
    <head>
    </head>
    <body>
        <form runat="server">
            <asp:datagrid id="datagrid1" runat="server"
               BorderColor="black"
               BorderWidth="1"
               CellPadding="3"
               AllowSorting="true"
               AutoGenerateColumns="true">
            </asp:datagrid>
        </form>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Il libro dice che spiegherà tutto il giorno seguente. Però puoi fare così:
    Nell'evento SortCommand recuperi il nome del campo da ordinare, lo metti in una variabile globale (fuori delle sub o function) e scrivi l'istruzione sql utilizzando l'opzione order by. :gren:

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ti mando un po' di codice:
    codice:
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not Me.IsPostBack() Then
                'all'inizio, tabella ordinata mediante id
                BindDataGrid("id")
            End If
    
        End Sub
    
        Private Sub BindDataGrid(ByVal SortExpression$)
            'Imposta la connessione
            Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documenti\Interdev\prova.mdb;")
    
            'Apri la connessione
            Dim sql$ = "select * from campi order by " & SortExpression
            Dim myCommand As New OleDbDataAdapter(sql, myConnection)
    
            'Riempi l'oggetto DataSet
            Dim ds As DataSet = New DataSet()
            myCommand.Fill(ds, "tblUsers")
    
            'Scegli il tipo di visualizzazione e associalo al controllo del server
            datagrid1.DataSource = ds.Tables("tblUsers").DefaultView
            DataBind()
    
        End Sub
    
        Private Sub datagrid1_SortCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles datagrid1.SortCommand
            'scatta quando si fa click nell'instestazione delle colonne
    
            'recupero il nome della colonna cliccata (sort expression)
    
            BindDataGrid(e.SortExpression)
        End Sub

  4. #4

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.