10 messaggi dal 07 settembre 2009
Ciao a tutti...vorrei riuscire ad inserire da codice (VB) un TextBox in un campo TemplateField di un GridView
Son riuscito a creare il campo ma non a inserire un textBox all' interno del Item Style

Per ora sono messo così:

Dim COL_GRID_QTA As New TemplateField
COL_GRID_QTA.HeaderText = "QTA_" & COL_QTA
COL_GRID_QTA.ItemStyle.Width = 100
COL_GRID_QTA.ItemStyle.HorizontalAlign = HorizontalAlign.Center

Dim TextBoxQta As ComponentModel.......... (????????????)
COL_GRID_QTA.ItemStyle.Container.Add(TextBoxQta) (????????????...mi da errore)

Me.GridView2.Columns.Add(COL_GRID_QTA)

Come devo fare?
Grazie mille!
l'aspetto del controllo TemplateField è determinato delle proprietà xxxTemplate.

ad esempio la proprietà ItemTemplate determina l'aspetto delle righe in uno stato "normale"

le proprietà sono del tipo ITemplate, quindi devi creare un controllo che implementi tale interfaccia, ed aggiungera la tua TextBox a quel controllo

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
10 messaggi dal 07 settembre 2009
Ciao...innanziututto grazie della risp.

Io sto cercando e provando in questo modo: no errori ma non riesco a far apparire il mio textBox in visualizzazione "normale".

Riesci a darmi qualche dritta in più o un esempio??

Ho provato sia così....

Dim txt2 As New UI.Control
InstantiateIn(txt2)

...ed eseguendo questa funzione (da msdn.microsoft)...

Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn
Dim lc As New Literal()
Select Case templateType
Case ListItemType.Header
lc.Text = "<B>" & columnName & "</B>"
container.Controls.Add(lc)
Case ListItemType.Item
lc.Text = "Item " & columnName
container.Controls.Add(lc)
Case ListItemType.EditItem
Dim tb As New TextBox()
tb.Text = ""
container.Controls.Add(tb)
Case ListItemType.Footer
lc.Text = "<I>Footer</I>"
container.Controls.Add(lc)
End Select
End Sub

Oppure:

Dim COL_GRID_QTA As New TemplateField
COL_GRID_QTA.HeaderText = "QTA_" & COL_QTA

Dim txt As New TextBox
txt.ID = "TextBoxtest"

Dim TemplBuild As New TemplateBuilder
COL_GRID_QTA.ItemTemplate = TemplBuild

COL_GRID_QTA.ItemTemplate.InstantiateIn(txt)

Ma sempre niente.


Grazie


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.