a me così funziona, prova ad adattarlo al tuo codice:

codice:
Public Class ElencoDischi
    Inherits System.Web.UI.Page
    Protected WithEvents DAVisualizza As System.Data.SqlClient.SqlDataAdapter
    Protected WithEvents SqlSelectCommand1 As System.Data.SqlClient.SqlCommand
    Protected WithEvents Conn As System.Data.SqlClient.SqlConnection
    Protected WithEvents DataView1 As System.Data.DataView
    Protected WithEvents DsVisualizza As Dischi.DSVisualizza
    Protected WithEvents Vetrina As System.Web.UI.WebControls.HyperLink
    Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid

#Region " Codice generato da Progettazione Web Form "

    'Chiamata richiesta da Progettazione Web Form.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.DAVisualizza = New System.Data.SqlClient.SqlDataAdapter()
        Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand()
        Me.Conn = New System.Data.SqlClient.SqlConnection()
        Me.DataView1 = New System.Data.DataView()
        Me.DsVisualizza = New Dischi.DSVisualizza()
        CType(Me.DataView1, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.DsVisualizza, System.ComponentModel.ISupportInitialize).BeginInit()
        '
        'DAVisualizza
        '
        Me.DAVisualizza.SelectCommand = Me.SqlSelectCommand1
        Me.DAVisualizza.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Dischi", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Etichetta", "Etichetta"), New System.Data.Common.DataColumnMapping("Descrizione", "Descrizione"), New System.Data.Common.DataColumnMapping("Tipologia", "Tipologia"), New System.Data.Common.DataColumnMapping("Nome", "Nome"), New System.Data.Common.DataColumnMapping("Casa", "Casa")})})
        '
        'SqlSelectCommand1
        '
        Me.SqlSelectCommand1.CommandText = "SELECT Dischi.Etichetta, Dischi.Descrizione, Tipologie.Tipologia, Autori.Nome, Ca" & _
        "seDiscografiche.Nome AS Casa, Autori.IDAutore, CaseDiscografiche.IDCasaDiscograf" & _
        "ica, Dischi.IDDisco, Tipologie.IDTipologia FROM Dischi INNER JOIN DettaglioDisco" & _
        "Autori ON Dischi.IDDisco = DettaglioDiscoAutori.IDDisco INNER JOIN Autori ON Det" & _
        "taglioDiscoAutori.IDAutore = Autori.IDAutore INNER JOIN DettaglioDischiCaseDisco" & _
        "grafiche ON Dischi.IDDisco = DettaglioDischiCaseDiscografiche.IDDisco INNER JOIN" & _
        " CaseDiscografiche ON DettaglioDischiCaseDiscografiche.IDCasaDiscografica = Case" & _
        "Discografiche.IDCasaDiscografica INNER JOIN Tipologie ON Dischi.IDTipologia = Ti" & _
        "pologie.IDTipologia"
        Me.SqlSelectCommand1.Connection = Me.Conn
        '
        'Conn
        '
        Me.Conn.ConnectionString = "data source=CORINNA;initial catalog=CD;integrated security=SSPI;persist security " & _
        "info=False;workstation id=CORINNA;packet size=4096"
        '
        'DataView1
        '
        Me.DataView1.Table = Me.DsVisualizza.Dischi
        '
        'DsVisualizza
        '
        Me.DsVisualizza.DataSetName = "DSVisualizza"
        Me.DsVisualizza.Locale = New System.Globalization.CultureInfo("it-IT")
        Me.DsVisualizza.Namespace = "http://www.tempuri.org/DSVisualizza.xsd"
        CType(Me.DataView1, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.DsVisualizza, System.ComponentModel.ISupportInitialize).EndInit()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: questa chiamata al metodo è richiesta da Progettazione Web Form.
        'Non modificarla nell'editor del codice.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call popola()
    End Sub

    Sub popola()
        DAVisualizza.Fill(DsVisualizza)
        Page.DataBind()
    End Sub

    Private Sub DataGrid1_SortCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles DataGrid1.SortCommand
        DataView1.Sort = e.SortExpression
        Page.DataBind()
    End Sub

    Sub Paginazione(ByVal sender As System.Object, ByVal E As DataGridPageChangedEventArgs)
        Try
            'per la paginazione
            DataGrid1.CurrentPageIndex = E.NewPageIndex
            DataGrid1.DataBind()
        Catch ex As Exception
            'lblerrori.Text = ex.Message
            Call popola()
        End Try
    End Sub
End Class
sulla pagina

codice:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="ElencoDischi.aspx.vb" Inherits="Dischi.ElencoDischi"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
	<HEAD>
		<title>ElencoDischi</title>
		<link rel="stylesheet" href="kkk.css">
		<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
		<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
	</HEAD>
	<body>
		<form id="Form1" method="post" runat="server">
			<div align="center">
				<h2>Elenco Dischi<FONT size="3">*</FONT></h2>
				

[img]images/disc-oro.gif[/img]</p>
				<asp:DataGrid OnPageIndexChanged="Paginazione" id=DataGrid1 runat="server" DataSource="<%# DataView1 %>" AllowSorting="True" AutoGenerateColumns="False" Width="90%" HorizontalAlign="Center" Font-Names="verdana" PageSize="6" AllowPaging="True">
					<AlternatingItemStyle BackColor="White"></AlternatingItemStyle>
					<HeaderStyle ForeColor="White" BackColor="MidnightBlue"></HeaderStyle>
					<Columns>
						<asp:BoundColumn DataField="Etichetta" SortExpression="Etichetta" HeaderText="Disco"></asp:BoundColumn>
						<asp:BoundColumn DataField="Descrizione" SortExpression="Descrizione" HeaderText="Descrizione"></asp:BoundColumn>
						<asp:BoundColumn DataField="Tipologia" SortExpression="Tipologia" HeaderText="Tipologia"></asp:BoundColumn>
						<asp:BoundColumn DataField="Nome" SortExpression="Nome" HeaderText="Autore"></asp:BoundColumn>
						<asp:BoundColumn DataField="Casa" SortExpression="Casa" HeaderText="Casa Discografica"></asp:BoundColumn>
					</Columns>
				</asp:DataGrid>
				

* = Cliccare sull'intestazione di colonna per ordinare secondo il criterio 
						scelto</P>
				

<asp:HyperLink id="Vetrina" runat="server" Target="principale" NavigateUrl="Datalist.aspx" Font-Size="XX-Small">Vetrina</asp:HyperLink></P>
			</div>
		</form>
	</body>
</HTML>