Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Fincontrol in FormView

  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    Fincontrol in FormView

    Ho un textbox con un autocompleteextender.
    codice:
    <asp:TextBox  ID="sceltacli" runat="server" Width="300px" AutoPostBack="True"  OnTextChanged="TextBox1_TextChanged" placeholder="cerca un cliente"  ></asp:TextBox>
    Sull'evento textchanged, quella funzione TextBox1_TextChanged va a impostare il viewmode di un formview in modalità readonly e andrebbe a valorizzare le label contenute nella formview, in questo modo:
    codice:
    Protected Sub TextBox1_TextChanged(sender As Object, e As EventArgs)
          headform.ChangeMode(FormViewMode.ReadOnly)
          Dim lb As Label = headform.FindControl("lb_conto")
          lb.text="pippo"....
    Questo è il codice dell'itemtemplate del formview nella parte aspx della pagina:
    codice:
    <asp:FormView  ID="headform" runat="server" DataKeyNames="an_conto"  DefaultMode="ReadOnly" Width="100%" BackColor="White">
                        <ItemTemplate>
                            <table class="table" style="width: 100%">
                                <tr>
                                    <td>Conto</td>
                                    <td>
                                        <asp:Label ID="lb_conto" runat="server" Text=""></asp:Label></td>
                                    <td>Rag.Sociale</td>
                                    <td>
                                        <asp:Label ID="lb_ragsoc" runat="server" Text=""></asp:Label></td>
                                </tr>
    ....

    Orbene, quando viene chiamata la funzione TextBox1_TextChanged, dopo aver cambiato il mode del formview il signor Freimworc mi dice che il mio oggetto lb, alias headerO.FindControl("lb_conto"), è nothing.
    Io so di avere delle diversità di vedute col signor Freimworc però vorrei tanto capire perchè accade ciò: devo forse fare qualche altra operazione dopo aver cambiato il FormViewMode per rendere utilizzabile il controllo?
    Ultima modifica di supermac; 04-07-2016 a 12:16
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    pardon, alias headform.findcontrol("lb_conto")
    ...
    avevo rinominato il formview in uno dei vari tentativi
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    mac apprezzo lo spirito (sono un fan di Woody Allen e l'ironia è cio' che apprezzo di piu' nelle persone), ma per la ricerca e' meglio mettere bene i titoli

    comunque, a parte che non vedo cast dal Control generico alla classe Label, non credo che il FW riesca a trovare DIRETTAMENTE cercando nella form. Devi cercare nella riga..

    Recuperi l'indice, recuperi la riga e li' esegui la FindControl

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    hai ragione, chiedo venia per il titolo e ringrazio per la correzione, sarò meno farfallone nel prosieguo

    Per il formview:
    1-serve il cast? non basta dichiarare la destinazione as label? -dim lb As Label = headform.FindControl("lb_conto")-
    2- quale riga? il formview si riferisce ad un unico record, che indice dovrei dargli??
    Ultima modifica di djciko; 04-07-2016 a 15:22
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    1. quando ho eseguito comandi FindControl, ho sempre castato da Control alla corrispondente classe
    una roba cosi'
    Dim lb As Label = Ctype(headform.FindControl("lb_conto"), Label)

    2. per la formview sinceramente non l'ho mai usata, ma credo che ti risulti Nothing perche' non riesce a trovare il controllo nell'intera FormView. Prova con qualcosa tipo Rows(0).FindControl o simili oppure guarda questo thread http://forums.asp.net/t/973846.aspx?...ol+not+working

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    1. io uso directcast ma di solito non è necessario
    2. effettivamente non trova il controllo ma mi piacerebbe capire perchè.... resterò sempre un agricolo prestato alla programmazione lo sento

    Al link che hai postato propongono come soluzione lo spostamento del findcontrol al momento del databound (non ho visto riferimenti a una collection di righe del formview) ma siccome non ho voglia di impazzire con gli eventi del formview ho trovato un workaround: sposto la visualizzazione dei dati in un placeholder fuori dal formview e quest'ultimo lo tengo solo per l'insert e buonanotte al secchio... problema risolto.

    Thank you
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    sono controlli solo apparentemente semplici . Il fatto che non ti trovi a tuo agio è abbastanza normale. Io in effetti non l'ho mai usato: troppo complicato rispetto a "farselo a mano, da se"

    ps. dove è sparito il titolo originale del post?
    Pietro

  8. #8
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Quote Originariamente inviata da pietro09 Visualizza il messaggio
    dove è sparito il titolo originale del post?
    lol
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Quote Originariamente inviata da pietro09 Visualizza il messaggio
    ps. dove è sparito il titolo originale del post?
    tze', qui si modera seriamente, mica si pettinano le bambole

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Quote Originariamente inviata da djciko Visualizza il messaggio
    tze', qui si modera seriamente, mica si pettinano le bambole
    mai messo in dubbio ma stavo documentandomi per capire una nuova parola informatica del titolo originale: non mi piace essere ignorante in materia
    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.