• Lunes 23 de Diciembre de 2024, 04:20

Autor Tema:  Textbox Dentro De Un Datalist  (Leído 4144 veces)

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Textbox Dentro De Un Datalist
« en: Martes 22 de Noviembre de 2005, 11:57 »
0
Hola, tengo un problemilla a ver si me podeis exar una mano a ver que os parece.

Tengo declarado un textbox dentro de un datalist cargando en el textbox el contenido de un registro de la base de datos.
El problema lo encuentro en que a la hora de hacer un update de dicho registro al tener el textbox dentro del datalist no me lo reconoce. No se si me he explicado muy bien, (he provado con textarea y diversas cosa mas pero o no lo hago bien o no me funciona),  ahi va el codigo:

GRACIAS.
CODIGO DEL FORM--esto lo carga bien
<asp:DataList ID="Descrip" cellspacing="10" Width="80%" Visible="False" Runat="server">
  <ItemTemplate>
     <asp:textbox id="DescriptionText" text='<%#container.DataItem ("Descriptions")%>' textmode="MultiLine" columns="50" runat="server"></asp:textbox>
   </ItemTemplate>
</asp:DataList>

CODIGO DEL SCRIPT QUE NO VA--esto no se como hacer que funcione, a ver si teneis alguna idea o algo.. ya que no encuentro la manera de hacer referencia al textbox desde el script (lo que intento hacer es mirar el contenido del textbox y si no ha sufrido ninguna modificacion no hacer nada, y si ha habiado cambios pues hacer el update)

if descrip.text="" then
else
dim sql8 as new SQLCommand
sqlconn = new SQLConnection ("server=Id04; database=RafaProva1; user id=sa;")
sqlconn.Open()
sql8.CommandText = "UPDATE ConnectorInfo SET ConnectorInfo.Descriptions = '" + descrip.text + "' WHERE ConnectorInfo.ref = '" + id + "'"
sql8.connection = sqlConn
sql8.executenonquery()            
sqlconn.close()
end if      

Gracias de nuevo.

Güorker

  • Miembro MUY activo
  • ***
  • Mensajes: 383
    • Ver Perfil
Re: Textbox Dentro De Un Datalist
« Respuesta #1 en: Martes 22 de Noviembre de 2005, 12:11 »
0
Hola,

Prueba con lo siguiente:
Código: Text
  1. Descrip.Controls(indice)
  2.  
para obtener una referencia al TextBox. Me imagino que indice será 0, pero si no funciona prueba con 1,2...

Saludos
[size=109]Ondo ibili, gutxi gastau eta bueltak amari[/size]
[size=109]Pasalo bien, gasta poco y las vueltas a tu madre[/size]

IGarcia

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Textbox Dentro De Un Datalist
« Respuesta #2 en: Martes 22 de Noviembre de 2005, 12:27 »
0
Hola!!
No se si el error será este pero en la fución tienes if descrip.text="" then referenciando al datagrid(que es el que se llama descrip) en vez de el textbox de dentro que es DescriptionText.

Código: Text
  1. Dim CurrentTextBox As TextBox
  2. CurrentTextBox = E.Item.FindControl(&#34;DescriptionText&#34;)
  3. Dim ColValue As String = CurrentTextBox.Text
  4. ColValue = Trim(ColValue) 'Anulas los espacios en blanco de antes y despues
  5. if ColValue=&#34;&#34; then
  6. else
  7. dim sql8 as new SQLCommand
  8. sqlconn = new SQLConnection (&#34;server=Id04; database=RafaProva1; user id=sa;&#34;)
  9. sqlconn.Open()
  10. sql8.CommandText = &#34;UPDATE ConnectorInfo SET ConnectorInfo.Descriptions = '&#34; + ColValue + &#34;' WHERE ConnectorInfo.ref = '&#34; + id + &#34;'&#34;
  11. sql8.connection = sqlConn
  12. sql8.executenonquery()
  13. sqlconn.close()
  14. end if
  15.  

Lo que haces es coger el contenido del textbox "DescriptionText" del datalist y lo pasas a una variable ColValue que conviertes a string. De esta forma puedes comprara si es null o no.
Luego, en el UPDATE en vez de poner SET ConnectorInfo.Descriptions = '" + descrip.text + pasas el colvalue que es el que tiene el valor ya convertido en string.

Espero que te sirva de ayuda. Sino ya sabes donde estamos.

Suerte y que te funcione!!

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Textbox Dentro De Un Datalist
« Respuesta #3 en: Martes 22 de Noviembre de 2005, 13:10 »
0
A ver.... respecto a lo que me has dicho Güorker estoy probando y no me acabo de aclarar pero seguiré mirando...

mmmm respecto lo que me has dicho IGarcia... lo que me estás poniendo me sirve... si no fuese porque salta el siguiente error que no se a que es debido...

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: BC30456: 'Item' is not a member of 'System.EventArgs'.

Gracias a todos

IGarcia

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Textbox Dentro De Un Datalist
« Respuesta #4 en: Martes 22 de Noviembre de 2005, 13:37 »
0
Hola de nuevo!!

Eso es porque la cabecera de la actualización debería de ser así:

Código: Text
  1. Sub MyDataList1_Update(sender As Object, e As DataListCommandEventArgs)
  2.  
  3. End sub
  4.  

Y no e As System.EventArgs porque entonces no te reconoce el cambio del datalist. Por cierto¿que lo estas haciendo en el page_load o es una función aparte?

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Textbox Dentro De Un Datalist
« Respuesta #5 en: Martes 22 de Noviembre de 2005, 13:41 »
0
Lo estoy hacendo en una funcion aparte

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Textbox Dentro De Un Datalist
« Respuesta #6 en: Martes 22 de Noviembre de 2005, 13:44 »
0
Lo estoy haciendo en una funcion aparte donde hago 8 consultas mas, poniendo eso vabien pero me saltan errores de las otras consultas. No se podrian indicar los dos tipos de eventos??

Código: Text
  1. sub ADDConnectorInfo(sender as object, e as eventargs)
  2.  

Gracias de nuevo

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Textbox Dentro De Un Datalist
« Respuesta #7 en: Martes 22 de Noviembre de 2005, 13:53 »
0
perdon, no me saltan las otras consultas.... me salta error en el boton dentro del form que llama a la funcion.

IGarcia

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Textbox Dentro De Un Datalist
« Respuesta #8 en: Martes 22 de Noviembre de 2005, 13:53 »
0
No teno ni idea,la verdad, pero prueba a poner algo así:

1.- en la cabecera:
Código: Text
  1. sub ADDConnectorInfo(sender as object, e as eventargs,dl As DataListCommandEventArgs)
  2.  
2.- en el código sería algo así:
Código: Text
  1. Dim CurrentTextBox As TextBox
  2. CurrentTextBox = dl.Item.FindControl(&#34;DescriptionText&#34;)
  3.  

Si esto no funciona prueba a poner una variable interna que te recoja uno de los dos eventos. Por ejemplo:
Código: Text
  1. sub ADDConnectorInfo(sender as object, e As DataListCommandEventArgs)
  2. Dim events as eventargs
  3.  

Pruebalo y ya me dirás si te ha funcionado alguno de los dos.

Suerte!!

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Textbox Dentro De Un Datalist
« Respuesta #9 en: Miércoles 23 de Noviembre de 2005, 09:25 »
0
Tanto en la primera opcion, com en la segunda salta el mismo error...
Código: Text
  1. Compiler Error Message: BC30408: Method 'Public Sub ADDConnectorInfo(sender As Object, e As System.Web.UI.WebControls.DataListCommandEventArgs)' does not have the same signature as delegate 'Delegate Sub EventHandler(sender As Object, e As System.EventArgs)'.
  2.  
  3. &#60;asp:button id=&#34;ADD1&#34; onclick=&#34;ADDConnectorInfo&#34; runat=&#34;server&#34; Text=&#34;ADD&#34; Width=&#34;60px&#34; Visible=&#34;False&#34;&#62;&#60;/asp:button&#62;
  4.  

Estoy intentando arreglarlo, se aceptan sugerencias

Gracias.