Desde ya GRACIAS
AnaGaby
| |||
Problemas con TextBox Hola que tal, tengo el siguiente problema: creo un cuadro de texto por medio de codigo y en tiempo de ejecucion lo agrego a la pagina; es decir que no se carga cuando lo hace la pagina sino hasta que se manda llamar, ya una vez que le agrego datos lo concateno con un comando de SQL para agregar los datos a una tabla pero al momento de derl click en el boton guardar me pierde los datos y entonces graba en la tabla datos nulos. Como puedo hacer para que me mantenga los datos una vez que la pagina recarga???? Desde ya GRACIAS AnaGaby |
| ||||
Re: Problemas con TextBox a la pagina muchos controles por default vienen en true pero algunos otros como gridviews y controles de datos vienen en false. si son solo textbox solo ponselo a tu pagina pregunta si estas trabajando con limpiar los campos en el load revisa q no se limpien cada vez si no solo la primera vez con una condiocion de IsPostBack == true |
| |||
Re: Problemas con TextBox Declaro los cuadros de texto de manera global asi: Dim tbNombre As TextBox = New TextBox() Despues en una funcion los agrego a la pagina, hasta que se escoge la tabla: Me.Panel2.Controls.Add(tbNombre) Y ahi es cuando le ingreso datos, ya despues le doy Guardar y lo concateno: comando.CommandText = "INSERT empleados (nombre) VALUES ('" & tbNombre.Text & "')" Pero al momento de dar click muestro el comando y lo pone así: INSERT empleados (nombre) VALUES ('') AnaGaby |
| |||
Re: Problemas con TextBox Es algo largo pero aqui esta: conexion = New SqlConnection() conexion.ConnectionString = ConfigurationManager.ConnectionStrings("DNS_Conexi on").ConnectionString If Not Page.IsPostBack Then comando = New SqlCommand() comando.CommandText = "Select name from sysobjects where type='U'" comando.CommandType = CommandType.Text comando.Connection = conexion comando.Connection.Open() lector = comando.ExecuteReader() lbTablas.DataSource = lector lbTablas.DataTextField = "name" lbTablas.DataBind() lector.Close() lector = comando.ExecuteReader() lbTablas.DataSource = lector lbTablas.DataTextField = "name" lbTablas.DataBind() lector.Close() comando.Connection.Close() tbNombre.EnableViewState = True End If Page.EnableViewState = True Aqui le cargo a una lista las tablas que tengo entonces cuando se escoge una de ellas se llena el grid: Sub llenaGV() comando = New SqlCommand() comando.CommandText = "SELECT * FROM empleados" ' & lbTablas.SelectedValue comando.CommandType = CommandType.Text comando.Connection = conexion comando.Connection.Open() lector = comando.ExecuteReader() gvTabla.DataSource = lector gvTabla.DataBind() lector.Close() comando.Dispose() comando.Connection.Close() End Sub Cuando se da click en el boton nuevo genero los campos a mostrar: Protected Sub btnNuevo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNuevo.Click lblaccion.Text = 1 cuentaCampos() muestraCampos() End Sub Sub cuentaCampos() comando = New SqlCommand() comando.CommandText = "SELECT column_name FROM information_schema.columns WHERE table_name = '" & lbTablas.SelectedValue & "'" comando.CommandType = CommandType.Text comando.Connection = conexion comando.Connection.Open() lector = comando.ExecuteReader() listaCampos.DataSource = lector listaCampos.DataTextField = "column_name" listaCampos.DataBind() lector.Close() comando.Connection.Close() contador = listaCampos.Items.Count Me.Page.Form.Controls.Add(listaCampos) Response.Write(contador) End Sub Sub muestraCampos() Dim i As Integer For i = 1 To contador - 1 etiqueta(i) = New TextBox() etiqueta(i).Text = listaCampos.Items.Item(i).ToString etiqueta(i).Width = 130 etiqueta(i).Height = 22 etiqueta(i).MaxLength = 1 'etiqueta(i).BorderWidth = 1 Me.Panel3.Controls.Add(etiqueta(i)) Next camposEmpleados() End Sub Sub camposEmpleados() Me.Panel2.Controls.Add(tbNombre) End Sub Ya despues que se muestran doy clikc en guardar: Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGuardar.Click tbNombre.EnableViewState = True comando = New SqlCommand() comando.CommandText = "INSERT empleados (nombre,documento,fechaingreso) VALUES ('" & tbNombre.Text & "', '" & tbDocumento.Text & "', '" & tbFechaingreso.Text & "')" lblaccion.Text = comando.CommandText End sub Por lo pronto no estoy guardando los datos porque solo me guarda valores nulos |
| |||
Re: Problemas con TextBox No no lo tiene solo tengo estos: Imports System.Data Imports System.Data.SqlClient Imports System.Configuration Es que todo esto lo hago desde aspx.vb AnaGaby |
| |||
Re: Problemas con TextBox <%@ Page Language="VB" AutoEventWireup="false" CodeFile="prueba1.aspx.vb" Inherits="prueba1" %> el encabezado de la pagina AnaGaby |
| ||||
Re: Problemas con TextBox Por ke no mandas konkatenar directamente los datos, sin pasarlos al textbox?
__________________ [email protected] |
| ||||
Re: Problemas con TextBox Es un problema de viewstate. Al agregar controles dinamicos, estos no tienen un enlaze al viewstate y te toca guardar a ti los datos mano para no perderlos entre post back. Te dejo este hilo para que veas donde se guardan y donde se recuperan esos controles y sus datos |
| ||||
Re: Problemas con TextBox Aki hay un ejemplo, calado al 100%. http://msdn.microsoft.com/library/de...sAtRuntime.asp
__________________ [email protected] |