32 messaggi dal 19 agosto 2008
Salve,

sto lavorando su un portale e sto dedicando particolare attenzione alla pagine che elenca tutti i record contenenti dei Trouble ticket.Sto cercando di costruire un sistema che consenta di poter filrare i record senza doverli elencare tutti ogni volta in un GridView e cercarli scorrendo tutte le pagine.

Ho creato tre menu a tendina collegati a vicenda in base alla selezione di un menu a tendina filtra i restanti in base ai record disponibili.

*NOTA Premetto che i risultati dei singoli menu a tendina si basano sui valori esistenti nella tabella contenente tutti i record(Record raggruppati oppure distinct), praticamente visualizzo solo i record che effettivamente esistono e non quelli delle POSSIBILI categorie di una tabella di decodifica.

Arriviamo al dunque!

Il mio probleme è che aprendo la pagina non visualizzo niente :(

Il motivo è semplice nella query in tutti e tre i casi ogni menu a tendina aspetta che venga inserita correttametne la causale WHERE...ce un modo per non considere il where nella query se non è selezionato un valore??

Post il codice relativo ad un singolo menu a tendina per far capire meglio

SQLDATASOURCE:

<asp:SqlDataSource ID="sdsSezione" runat="server" ConnectionString="<%$ ConnectionStrings:connessione_RBS_ORG %>"
SelectCommand="SELECT REQUEST_SEZIONE.SPECIFICA,REQUEST_SEZIONE.ID_SEZIONE FROM REQUEST_RICHIESTE INNER JOIN REQUEST_DETTAGLIO ON REQUEST_RICHIESTE.ID_DETTAGLIO = REQUEST_DETTAGLIO.ID_DETTAGLIO INNER JOIN REQUEST_SEZIONE ON REQUEST_DETTAGLIO.ID_SEZIONE = REQUEST_SEZIONE.ID_SEZIONE INNER JOIN REQUEST_ESITI ON REQUEST_RICHIESTE.ESITO = REQUEST_ESITI.ID_ESITO WHERE (REQUEST_SEZIONE.ID_AREA = 18) AND (REQUEST_ESITI.ID_ESITO = @ID_ESITO)AND (REQUEST_DETTAGLIO.ID_DETTAGLIO = @ID_DETTAGLIO)GROUP BY REQUEST_SEZIONE.SPECIFICA, REQUEST_SEZIONE.ID_SEZIONE">
<SelectParameters>
<asp:ControlParameter ControlID="ddlEsito" Name="ID_ESITO" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="ddlDettaglio" Name="ID_DETTAGLIO" PropertyName="SelectedValue"/>
</SelectParameters>
</asp:SqlDataSource>
qui all'interno di ControlParameter e possibile anche stabilire un valore di default se non selezionto, ma mi sembra inusuale inserire manualmente tutti i possibili record in defaul value ad esempio DefaultValue="13"

MENU A TENDINA:

<asp:Label ID="lblSezione" runat="server" Text="Sezione"></asp:Label>
<asp:DropDownList ID="ddlSezione" runat="server" AutoPostBack="True"
DataSourceID="sdsSezione" DataTextField="SPECIFICA"
DataValueField="ID_SEZIONE">
</asp:DropDownList>

Mi sapete consigliare un metodo?
In caso non sia possibile anche dirmi lascia stare cambia tutto :)...mi dovrei inventare qualcosa per troncare le query con l'utilizzo di svariati IF per gestire il where
52 messaggi dal 04 ottobre 2011
se ho capito bene, all'interno del 'primo' menu a tendina, cioè qello più 'generale' devi utilizzare un sqldatasource senza parametri, oppure la carichi in maniera programmatica. Dopodichè negli altri due datasource utilizzi un controlparameter che punta al value della dropdownlist che ha scatenato il primo postback, e così a cascata. Questo è il metodo più veloce, ma se vuoi qualcosa di più performante, senza modificare la logica, ti consiglio di dare un'occhiata agli updatePanel o meglio ancora di rivolgerti ad ajax.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.