GridView

lunedì 07 maggio 2007 - 15.29

cloud85it Profilo | Newbie

Ciao,
ho iniziato da poco a vedere aspnet ho un problema,
Ho delle droplist su una pagina,e una gridView(che si appoggia su un objectDataSource).
Quando cambio valore su una delle drop,la query che mi effettua è corretta,e mi ritorna una List corretta,ma la pagina mi mostra sempre gli stessi dati,come se non facesse il refresh,come ripeto la query da un corretto risulato
Qualcuno puo aiutarmi???
grazie

alx_81 Profilo | Guru

>Ciao,
Ciao!

>ho iniziato da poco a vedere aspnet ho un problema,
>Ho delle droplist su una pagina,e una gridView(che si appoggia
>su un objectDataSource).
>Quando cambio valore su una delle drop,la query che mi effettua
>è corretta,e mi ritorna una List corretta,ma la pagina mi mostra
>sempre gli stessi dati,come se non facesse il refresh,come ripeto
>la query da un corretto risulato
Come fai a dire che la query che i dropdown ti creano è corretta? hai controllato che venga effettivamente lanciata?
Fai il databind del controllo?
se sì, dove?
Prova a postare il codice..

Alx81 =)

http://blogs.dotnethell.it/suxstellino

cloud85it Profilo | Newbie

Grazie epr avermi risposto,
il risultato della query è corretto perchè in debug vedo che è corretto,cmq ecco il codice:
Cmq una volta richiamato il metodo che popola il gridview sulla apgina aspx che devo fare??
Public Overrides Function SearchAlbum(ByVal newAlbum1 As Album) As List(Of Album)
If ConnectionString = String.Empty Then
Throw New ArgumentOutOfRangeException("ConnectionString")
End If
Dim SqlSelectFilterAlbum As String

Dim cn As New OleDbConnection(ConnectionString)
Try
cn.Open()
Catch ex As OleDbException
Console.WriteLine(ex.Message)
End Try
Dim albumList As New List(Of Album)()
Dim Esiste As Boolean
Esiste = False

SqlSelectFilterAlbum = "Select * From PRINCIPALE where"




If String.IsNullOrEmpty(newAlbum1.Supporto) Or newAlbum1.Supporto.Contains("Tutti") Then
Else
Esiste = True
SqlSelectFilterAlbum = SqlSelectFilterAlbum + " Supporto = '" + newAlbum1.Supporto + "'" + ""
End If
If String.IsNullOrEmpty(newAlbum1.Autore) Or newAlbum1.Autore.Contains("Tutti") Then
Else
Esiste = True
SqlSelectFilterAlbum = SqlSelectFilterAlbum + " Autore = '" + newAlbum1.Autore + "'" + ""
End If
If String.IsNullOrEmpty(newAlbum1.Categoria) Or newAlbum1.Categoria.Contains("Tutti") Then
Else
Esiste = True
SqlSelectFilterAlbum = SqlSelectFilterAlbum + " Categoria = '" + newAlbum1.Categoria + "'" + ""
End If
If String.IsNullOrEmpty(newAlbum1.Discografica) Or newAlbum1.Discografica.Contains("Tutti") Then
Else
Esiste = True
SqlSelectFilterAlbum = SqlSelectFilterAlbum + " Casa = '" + newAlbum1.Discografica + "'" + ""
End If


If Esiste = False Then
SqlSelectFilterAlbum = "Select * From PRINCIPALE"
End If

Dim sqlCmdNome As New OleDbCommand(SqlSelectFilterAlbum, cn)
Dim reader As OleDbDataReader = sqlCmdNome.ExecuteReader()
Do While reader.Read()

Dim albumSingleList As Album = New Album(CStr(reader("Nome")), CStr(reader("Autore")), CStr(reader("Categoria")), CInt(reader("Anno")), CStr(reader("Supporto")), CStr(reader("Num")), CBool(reader("Disp")), CStr(reader("Ricevente")), CBool(reader("Originale")), CStr(reader("Annotazione")), CStr(reader("Data")), CStr(reader("Discografica")), CInt(reader("Prezzo")))

albumList.Add(albumSingleList)

Loop

reader.Close()
cn.Close()
Return albumList
End Function

cloud85it Profilo | Newbie

Scusami ma che vuol dire :
"Fai il databind del controllo?
se sì, dove?"

alx_81 Profilo | Guru

>Scusami ma che vuol dire :
>"Fai il databind del controllo?
>se sì, dove?"
un passo alla volta.. come mai usi un DataReader e poi ti fai tornare una collection? a cosa ti serve poi questa collection?

Alx81 =)

http://blogs.dotnethell.it/suxstellino

cloud85it Profilo | Newbie

Quello che ti ho mandato è il metodo di "select" dell objectDataSource,mentre nella pagina aspx ho questo codice:
cmq se hai un altra soluzione..stò impazzendo..

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Page.IsPostBack Then
CaricaGriglia()
End If
End Sub
Protected Sub CaricaGriglia()

Dim wasAlbumSearchFilterList As List(Of Album)
Console.WriteLine(DropDownList1.SelectedValue)
Console.WriteLine(DropDownList2.SelectedValue)
Console.WriteLine(DropDownList3.SelectedValue)
Console.WriteLine(DropDownList4.SelectedValue)

Dim wasAlbumSearchFilter As Album = New Album(DropDownList1.SelectedValue, DropDownList2.SelectedValue, DropDownList3.SelectedValue, DropDownList4.SelectedValue)
wasAlbumSearchFilterList = wasAlbumSearchFilter.Search()
End Sub

alx_81 Profilo | Guru

>Quello che ti ho mandato è il metodo di "select" dell objectDataSource,mentre
>nella pagina aspx ho questo codice:
>cmq se hai un altra soluzione..stò impazzendo..
non ho corretto il tuo perchè non vedo l'errore nel codice che mi hai passato.. però ti allego un esempio che puoi adattare alla tua situazione.. spero ti sia di aiuto!
fammi sapere!
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

cloud85it Profilo | Newbie

Non sapevo dell'esistenza dei parametri settabili,quindi avevo risolto il problema passando i parametri in sessioen ma cosi è molto piu smeplice e pulito,ti ringrazio per il tuo aiuto e pazienza
ciao

alx_81 Profilo | Guru

>Non sapevo dell'esistenza dei parametri settabili,quindi avevo
>risolto il problema passando i parametri in sessioen ma cosi
>è molto piu smeplice e pulito,ti ringrazio per il tuo aiuto e
>pazienza
figurati, è un piacere!
ps: accetta la risposta se lo ritieni opportuno, così chiudiamo il thread
>ciao

Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5