Buenos días compañeros,
He visto que este se tema por el foro pero no he terminado de encontrar la solucion a mi problema, os comento mi caso.
Utilizo el VS .Net2003 y en un datagrid al cual quiero añadirle una serie de columnas con sus respectivos campos de texto y check. Para las columnas generadas uso 'TemplateColumn'. El error o caso raro que me hace es que me pinta la columnas los textbox y checkbox pero, en vez de crearme de "rellenarlo" me crea el atributo Value con el valor que deberia de mostrarme, os pongo un ejemplo de html q me genera
Código HTML:
<input name="dgrdDetalle1:_ctl3:5_Técnico" type="text" value="ANGEL VILLAESCUSA" maxlength="50" id="dgrdDetalle1__ctl3_5_Técnico" class="txt1" style="width:80px;TEXT-ALIGN:left;" />
La cosa que yo uso TextboxVariable.Text que se supone que debe de rellenarme el texto, con el check me pasa igual.
Muchas gracias de antemano.
P.D. Os pongo el codigo del textbox por si hiciera algo mal. Pero he visto un PDF donde el codigo es igual (por no decir el mismo)
Código HTML:
Private Sub CrearTextBox(ByVal container As System.Web.UI.Control, ByVal bMemo As Integer)
Dim oTextBox As TextBox = New TextBox
''Añadimos el cuadro de texto
AddHandler oTextBox.DataBinding, AddressOf BindTextBox
If bMemo Then
oTextBox.TextMode = TextBoxMode.MultiLine
End If
oTextBox.CssClass = sClaseCSS
oTextBox.ToolTip = sToolTip
oTextBox.EnableViewState = True
If sNombreControl <> "" Then
oTextBox.ID = sNombreControl
End If
oTextBox.Width = Unit.Pixel(iAnchoCtrl)
oTextBox.Style("TEXT-ALIGN") = "left"
If oTextBox.TextMode = TextBoxMode.MultiLine Then
oTextBox.Rows = iMaxLen
Else
oTextBox.MaxLength = iMaxLen
End If
container.Controls.Add(oTextBox)
'Añadimos un validator si el campo es requerido
If bRequerido Then
Dim oValidator As RequiredFieldValidator = New RequiredFieldValidator
oValidator.ErrorMessage = "*"
oValidator.Text = "*"
oValidator.ControlToValidate = oTextBox.ID
container.Controls.Add(oValidator)
End If
End Sub
'Enlace a datos del textbox
Public Sub BindTextBox(ByVal sender As Object, ByVal e As EventArgs)
Dim oTextBox As TextBox = CType(sender, TextBox)
Dim container As DataGridItem = CType(oTextBox.NamingContainer, DataGridItem)
If container.DataItem(sCampoDatos).GetType.ToString = "System.DBNull" Then
oTextBox.Text = ""
Else
oTextBox.Text = CStr(container.DataItem(sCampoDatos))
End If
End Sub