GridView / SqlDatasource filtrata da due textbox
Punky
Punky non è online. Ultima attività: 25/11/2008 15.02.49Punky
il 19 novembre 2008 alle 16.18
19 messaggi dal 05 luglio 2006
Non sono molto esperto quindi mi scuso per le eventuali banalità o imprecisioni.

Devo popolare una GridView mediante una SqlDatasource dinamica (la WHERE è costruita in base ai valori inseriti in due textbox) e, successivamente, devo poter modificare i dati visualizzati nella gridview.

Il codice associato al click del pulsante "CERCA" è il seguente:


    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim strsql As String
        strsql = "SELECT * FROM [XSS-Sistemi3]"
        If (TextBox2.Text <> "" Or TextBox8.Text <> "") Then

            strsql = strsql & " WHERE "

            If TextBox2.Text <> "" Then
                If TextBox8.Text <> "" Then
                    strsql = ""
                Else
                    strsql = strsql & " ([Hostname] like @hostname + '%') ORDER BY hostname"
                End If
            Else
                strsql = strsql & " ([IP] like @IP + '%') ORDER BY hostname"
            End If
        Else
            strsql = strsql & " ORDER BY hostname"
        End If

        SqlDataSource5.SelectCommand = strsql
    End Sub


La visualizzazione e il filtro funzionano correttamente ma, dopo aver visualizzato i dati, se premo il CommanField "modifica" della GridView, la GridView sparisce.

Ho provato con una sola textbox (quindi con una WHERE statica nella query) e funziona tutto.

Grazie
Modificato da Punky il 19 novembre 2008 16.21 -
Microsoft Most Valuable Professional
RE: GridView / SqlDatasource filtrata da due textbox
nostromo
nostromo non è online. Ultima attività: 04/07/2009 1.44.08nostromo Top Poster
il 19 novembre 2008 alle 16.35
devi reimpostare la Query ad ogni PostBack, altrimenti non viene mantenuta traccia delle modifiche che fai alla query

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: GridView / SqlDatasource filtrata da due textbox
Punky
Punky non è online. Ultima attività: 25/11/2008 15.02.49Punky
il 19 novembre 2008 alle 16.42
19 messaggi dal 05 luglio 2006
Come si fa ? Nel "Page load" devo rieseguire il codice associato al pulsante ?
Microsoft Most Valuable Professional
RE: GridView / SqlDatasource filtrata da due textbox
nostromo
nostromo non è online. Ultima attività: 04/07/2009 1.44.08nostromo Top Poster
il 19 novembre 2008 alle 17.19
esatto, salvati da qualche parte, ad esempio nel ViewState che stai usando una query filtrata

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: GridView / SqlDatasource filtrata da due textbox
Punky
Punky non è online. Ultima attività: 25/11/2008 15.02.49Punky
il 19 novembre 2008 alle 17.23
19 messaggi dal 05 luglio 2006
Non mi è del tutto chiaro, ma è colpa della mia ignoranza.
Provo a leggere qualcosa a riguardo.

Grazie
Carmine
Microsoft Most Valuable Professional
RE: GridView / SqlDatasource filtrata da due textbox
nostromo
nostromo non è online. Ultima attività: 04/07/2009 1.44.08nostromo Top Poster
il 19 novembre 2008 alle 17.32
cosa non ti è chiaro? non ce nulla di male a non saper fare alcune cose specialmente all'inizio.

provo anche io a spiegarmi meglio. al click esegui delle azioni, racchiudi queste azioni in un metodo/funzione, ti salvi nel ViewState un valore che india che hai eseguito una query filtrata.

al PageLoad verifichi l'esistenza di questo valore e riesegui il metodo che imposta la query filtrata

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: GridView / SqlDatasource filtrata da due textbox
Punky
Punky non è online. Ultima attività: 25/11/2008 15.02.49Punky
il 19 novembre 2008 alle 17.46
19 messaggi dal 05 luglio 2006
La teoria è chiara ma praticamente non so come si fanno alcune azioni:

racchiudi queste azioni in un metodo/funzione

Credo di averlo fatto creando la funzione associata al click del pulsante

ti salvi nel ViewState un valore che india che hai eseguito una query filtrata

Come si fa ? Si valorizza una variabile di sistema ?


al PageLoad verifichi l'esistenza di questo valore e riesegui il metodo che imposta la query filtrata


Se ho capito, nella parte di codice identificata come
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

dovrei testare la variabile (?) valorizzata in precedenza ed eventualmente richiamo la funzione creata al primo punto
Microsoft Most Valuable Professional
RE: GridView / SqlDatasource filtrata da due textbox
nostromo
nostromo non è online. Ultima attività: 04/07/2009 1.44.08nostromo Top Poster
il 19 novembre 2008 alle 19.03
allora per prima cosa devi prendere questo codice


Dim strsql As String
        strsql = "SELECT * FROM [XSS-Sistemi3]"
        If (TextBox2.Text <> "" Or TextBox8.Text <> "") Then

            strsql = strsql & " WHERE "

            If TextBox2.Text <> "" Then
                If TextBox8.Text <> "" Then
                    strsql = ""
                Else
                    strsql = strsql & " ([Hostname] like @hostname + '%') ORDER BY hostname"
                End If
            Else
                strsql = strsql & " ([IP] like @IP + '%') ORDER BY hostname"
            End If
        Else
            strsql = strsql & " ORDER BY hostname"
        End If

        SqlDataSource5.SelectCommand = strsql


e inserirmo in una funzione, funzione che richiamerai anche nella funzione associata al click del pulsante

per salvare un valore nel ViewState è sufficente fare

Me.ViewState("mioCampo") = true

per recuperarlo

Dim _bool As Boolean = CBool(Me.ViewState("mioCampo"))

dopo controlli il valore di _bool e riesegui la funzione che crea la query

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

2 pagine: [1] 2 Avanti >>

Vai a:
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.

COMMUNITY
ULTIMI MESSAGGI
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2009.6.9