Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - FindControl con ItemTemplate non funziona ma prima problema con textbox.DataBinding
Forum - C# / VB.NET - FindControl con ItemTemplate non funziona ma prima problema con textbox.DataBinding

Avatar
sorigrafia (Normal User)
Newbie


Messaggi: 17
Iscritto: 23/07/2009

Segnala al moderatore
Postato alle 12:52
Martedì, 12/01/2010
Ciao a tutti...:)

nella creazione della mia GridView dinamica (che mi sta facendo un pò dannare) ho bisogno di recuperare i valori dentro ai textbox che ho inserito in TemplateColumn tramite le sub "InstantiateIn".
Essendomi accorto che FindControl non funziona :( ho cercato un pò in giro e ho visto che però io non facevo il "DataBinding" del controllo textbox aggiunto ("Sub TemplateControl_DataBinding").

Ed è qui che ho il mio problema:
Il problema è che il "container" non si riempe e non riesco a proseguire con il DataBinding!

Questa è la sub (adattata con il textbox e presa da "http://msdn.microsoft.com/it-it/library/cc438020%28VS.71%2 ....

Private Sub TemplateControl_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs)
Dim textbox As New TextBox
Dim Table As DataTable = CType(Session("DatatablePortate"), DataTable)

textbox = CType(sender, TextBox)
Dim container As TextBox
container = CType(textbox.NamingContainer, TextBox)
Dim COL_QTA As String = Table.Columns.Item("QTA_C0").ColumnName
textbox.Text &= DataBinder.Eval(container, COL_QTA)
textbox.Text &= "</TD></TR>"
End Sub

Cosa sbaglio? :-?

Grazie mille :)

PM Quote
Avatar
sorigrafia (Normal User)
Newbie


Messaggi: 17
Iscritto: 23/07/2009

Segnala al moderatore
Postato alle 16:43
Martedì, 12/01/2010
Risolto:
- togliendo i container.DataBind() nella creazione dei textbox (Sub InstantiateIn.....) lasciando cosi il richiamo del TextBox_DataBinding alla fine e sostituendo il container precedente con questo
Dim container As GridViewRow = CType(textbox.NamingContainer, GridViewRow), come gridviewrow

Ora vi chiedo però:
è vero che l' unico modo per trovare poi il contenuto dei miei textbox aggiunti tramite Templatecolumn è possibile solo attraverso una funzione che ho trovato spesso nei forum "FindControlIterative" (Public Shared Function FindControlIterative(ByVal myRoot As Control, ByVal myIDOfControlToFind As String) As Control)??????

:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?:-?

PM Quote