Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Refresh text box in vb.net

    Ciao a tutti
    in una pagina aspx ho una textbox (m_CliSel)che deve contenere un codice cliente; cliccando su un bottone a lato apro una nuova pagina aspx con un datagrid e vado ad eseguire una query su db filtrando i dati sulla base del testo inserito nell'm_CliSel.Il problema sorge quando schiacciando su un pulsante cancella campi vado ad eliminare visivamente il contenuto dei miei textbox in questo modo
    codice:
     Public Function PulisciCampi() As Boolean
            'Per i ccampi statici posso fare così
            aRagSoc2.Text = ""
            aDescriPag.Text = ""
            aIndirizzo.Text = ""
            'Per le droplist invece devo controllare di poter cancellare il dato
            If IsNothing(m_SedeSel.SelectedItem) = False Then
                m_SedeSel.SelectedItem.Text = ""
            End If
            If IsNothing(m_CliSel) = False Then
                m_CliSel.Text = ""
            End If
            If IsNothing(m_CondPagSel.SelectedItem) = False Then
                m_CondPagSel.SelectedItem.Text = ""
            End If
            m_Annotazioni.Text = ""
    
        End Function
    a questo punto il mio campo m_CliSel è vuoto ma probabilmente rimane sporco perchè se provo a schiacciare il bottone a fianco mi rifà la query sulla base del campo che avevo inserito prima invece non dovrebbe farmi nessun filtro. C'è un modo per eseguire il refresh di questo maledetto campo? Ho provato a cercare ma non ho trovato niente che mi possa essere utile
    è tutto il giorno che ci sbatto la testa
    Se qualcuno mi aiuta mi fa un grandissimo piacere....grazie

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Mi piacerebbe aiutarti, ma ti giuro che non ho capito :master: (boh!)

    Allora, prova a sintetizzare al massimo il codice:

    Questa istruzione:
    codice:
    If IsNothing(m_CliSel) = False Then
                m_CliSel.Text = ""
            End If
    pulisce il textbox sempre:
    IsNothing(m_CliSel) è sempre falsa (secondo me è inutile)

    cosa vuol dire che è vuoto ma probabilmente rimane sporco????
    Insomma, o è vuoto o non è vuoto, e da lì non si scappa.

    Comunque, la funzione PulisciCampi la farei lato client.
    Pietro

  3. #3
    la funzione non la posso sintetizzare perchè mi pulisce anche altri campi comunque quando viene eseguita a video io vedo il mio text box vuoto e se controllo in debug il campo m_CliSel è vuoto ma se schiaccio il bottone per la ricerca del cliente mi esegue la query filtrando i miei dati come se nel campo m_CliSel ci fosse ancora scritto il valore che ho cancellato prima....Ad esempio
    Scrivo in m_CliSel a% se premo il pulsante di ricerca mi si apre una pagina aspx figlia con un datagrid dove vedo tutti i clienti che iniziano con la lettera a.
    Ne seleziono uno e lui mi riporta il codice nel campo m_CliSel.
    Schiaccio il tasto cancella e apparentemente a video il mio campo risulta vuoto ma se rischiaccio la ricerca vedo ancora i clienti che iniziano con la lettera a invece nel campo non c'è niente.
    Spero di averti chiarito le idee.....

  4. #4
    up

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Scusami, ma ho riacceso il computer solo oggi. Se hai risolto, ciao, altrimenti siamo tutti qui.
    Pietro

  6. #6
    macchè sono ancora allo stesso punto....
    Buona giornata.... elisa

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Kociss.Net
    macchè sono ancora allo stesso punto....
    Buona giornata.... elisa
    Mi faccio un piccolo esempio com visual studio.
    Ho 2 pagine, a.aspx e b.aspx.
    In a.aspx ho un textbox (m_CliSel) che deve contenere un id. Ho pure un pulsante al lato col quale apro la pagina b.aspx con un datagrid che utilizza l'id di m_CliSel per filtrare la query.
    Dimmi se è giusto e come la apri la pagina b.aspx (javascript, redirect,...)
    Pietro

  8. #8
    La pagina b la apro con un javascript con questo esattamente:

    codice:
    Dim sTextBoxName As String = Me.FindControl("m_CliSel").ClientID()
    CType(Me.FindControl("aChiaveCli"), HyperLink).NavigateUrl = "javascript:cercaclienti_window=window.open('cercaclienti.aspx?formname=InsOrdini." & sTextBoxName & "&clifor=" & m_CliSel.Text & "','Ricerca_Clienti','width=600,height=600,location=no, menubar=no, status=no, toolbar=yes, scrollbars=yes, resizable=yes');cercaclienti_window.focus();"
    CType(Me.FindControl("aAZCli"), HyperLink).NavigateUrl = "javascript:cercaclienti_window=window.open('cercaclienti.aspx?formname=InsOrdini." & sTextBoxName & "&ragsoc=" & m_CliSel.Text & "','Ricerca_Clienti','width=600,height=600,location=no, menubar=no, status=no, toolbar=yes, scrollbars=yes, resizable=yes');cercaclienti_window.focus();"
    aChiaveCli e aAZCli sono i due imagebutton che ho a lato di m_clisel e che mi consentono di ricercare il cliente per codice nel caso io schiacci la Chiave o per ragione sociale nel caso schiacci l'AZ.
    Ti posto il codice al momento del ritorno del codice cliente scelto magari ti può essere utile

    codice:
        Private Sub OnSelectCliente(ByVal sender As System.Object, ByVal e As DataGridCommandEventArgs) Handles dgClienti.ItemCommand
    
            'preparo la stringa per lo script
            Dim strjscript As String = "<script language=""javascript"">"
    
            'Recupero il codice 
            Dim Cliente As String = CType(e.CommandSource, System.Web.UI.WebControls.LinkButton).Text
            'Recupero la ragione sociale
            Dim RagSoc As String = RecuperaStringaDaSQL("CFAnagra", "RagSoc,CliFor,TipoCliFor", "TipoCliFor = '3211264' AND CliFor = '" + Cliente + "'", "TipoCliFor,CliFor")
            'Recupero la condizione di pagamento
            Dim CondPag As String = RecuperaStringaDaSQL("CFAnagra", "CondPag", "TipoCliFor = '3211264' AND CliFor = '" + Cliente + "'", "TipoCliFor,CliFor")
            Dim CondPagDescri As String = RecuperaStringaDaSQL("CondPag", "Descri", "CondPag = '" + CondPag + "' AND Disattiva = '0'", "Descri")
    
            'Cerco di capire se sono in daCliente o in aCliente
            Dim Controllo As String = HttpContext.Current.Request.QueryString("formname")
    
             If (Controllo = "InsOrdini.m_CliSel") Then
                    Controllo = Controllo.Replace("m_CliSel", "")
                    strjscript &= "window.opener." & HttpContext.Current.Request.QueryString("formname") & ".value = '" & Cliente & "'" & _
                                    ";window.opener.document.forms[0].submit()" & _
                                    ";window.close();"
              End If
    
            strjscript = strjscript & "</script" & ">" 'Don't Ask, Tool Bug
            Literal1.Text = strjscript                  'Set the literal control's text to the JScript code
        End Sub

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Mi dispiace, ma non sono riuscito a simulare il tuo problema. Il mio esempietto funziona. Te lo mando non si sa mai.
    pagina a.aspx (un textbox e 2 pulsanti server)
    codice:
    		<form id="Form1" method="post" runat="server">
    			
    
    
    				<asp:TextBox id="m_CliSel" runat="server"></asp:TextBox>
    				<asp:Button id="Button1" runat="server" Text="Apro nuova pagina"></asp:Button></P>
    			
    
    
    				<asp:Button id="Button2" runat="server" Text="Pulisci campi"></asp:Button></P>
    		</form>
    codice sottostante a.aspx
    codice:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            'apre popup
            Me.RegisterStartupScript("", String.Format("<script>var w=window.open('b.aspx?m_CliSel={0}','popup','width=500px,height=400px,left=300px,top=200px,');w.focus();</script>", Me.m_CliSel.Text))
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            'azzera textbox
            Me.m_CliSel.Text = ""
        End Sub
    la pagina b.aspx requpera l'id e lo utilizza nella query:
    codice:
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Inserire qui il codice utente necessario per inizializzare la pagina
            BindDataGrid()
        End Sub
    
        Private Sub BindDataGrid()
            Dim id$ = Trim(Request.Params("m_CliSel"))
            Dim CondizioneWhere$ = IIf(id = "", "1=1", String.Format("id={0}", id)).ToString
            Dim sql$ = String.Format("SELECT * FROM CAMPI WHERE {0}", CondizioneWhere)
            'PrintLn(sql) : Exit Sub
            Me.DataGrid1.DataSource = Libreria.GetDataTable(StringaConnessione, sql)
            Me.DataGrid1.DataKeyField = "id"
            Me.DataGrid1.DataBind()
    
        End Sub
    Questo funziona
    Ciao
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.