Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Sorting & Paging
venerdì 07 aprile 2006 - 17.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
car_79
Profilo
| Newbie
25
messaggi | Data Invio:
ven 7 apr 2006 - 17:03
Salve a tutti!
problema:
ho una dropdownlist popolata da una tabella "tbCategorie" del db, ho inserito nell'isieme items della dropdownlist un valore (text="Tutto" value="0") non esistente nella tabella "tbCategorie".
Ho creato un datasource che mi estrae gli articoli dalla tabella "tbArticoli" tramite il valore selezionato nella dropdownlist.
<asp:SqlDataSource ID="scrArticoliCategoria" runat="server" ConnectionString="<%$ ConnectionStrings:dbConnectionString %>"
SelectCommand="SELECT IDArticolo, Descrizione, Immagine, Prezzo, Qtà, IDCategoria
FROM tbArticoli WHERE IDCategoria = @IDCategoria">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="IDCategoria"
PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
ho associato il datasource "scrArticoliCategoria" ad un datagridview ed ho attivato il paging e il sorting e fin quà tutto apposto.
ho creato un'altro datasource che mi selezioni tutti gli articoli della tabella "tbArticoli"
<asp:SqlDataSource ID="scrArticoli_All" runat="server" ConnectionString="<%$ ConnectionStrings:dbConnectionString %>"
SelectCommand="SELECT IDArticolo, Descrizione, Immagine, Prezzo, Qtà, IDCategoria
FROM tbArticoli
</asp:SqlDataSource>
quando seleziono il valore "tutto" nella dropdownlist scatta il seguente evento
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
If DropDownList1.SelectedValue = 0 Then
GridView1.DataSourceID = ""
GridView1.DataSource = scrArticoli_All
GridView1.DataBind()
Else
GridView1.DataSourceID = ""
GridView1.DataSource = scrArticoliCategoria
GridView1.DataBind()
End If
End Sub
il problema e che quando associo la proprietà GridView1.DataSource = sqldatasource il pagin e il sorting non funzionano più.
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mar 25 apr 2006 - 13:38
ciao,
io ti consiglio di usare 1a sola datasource e da codice settare il filtro della sua select nel caso in cui venga selezionata 1a categoria altrimenti non lo metti nemmeno.
Percio' usi 1a sola datasource, quella senza il "where Idcat..." , e nell'evento load della pagina controlli se la combo ha scelto 1valore diverso da 0 allora nella sua select gli aggiungi la parte di filtro...
1po contorto da spiegare cmq alla fine la tua pag sara':
...#combocategoria#...
<asp:SqlDataSource ID="scrArticoliCategoria" runat="server" ConnectionString="<%$ ConnectionStrings:dbConnectionString %>"
SelectCommand="SELECT IDArticolo, Descrizione, Immagine, Prezzo, Qtà, IDCategoria FROM tbArticoli ">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="IDCategoria" PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Page.Load
If DropDownList1.SelectedValue = 0 Then
scrArticoliCategoria.SelectCommand = scrArticoliCategoria.SelectCommand + " WHERE IDCategoria = @IDCategoria"
End If
End Sub
cosi' dovrebbe andare tutto, fai qualche prova in questa direzione...
ps: mi sembra che la stanza sia sbagliata dal codice che scrivi è in .net 2.0
ciao.
Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
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 !