Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   c#: variable rescatando nombre (http://www.forosdelweb.com/f29/c-variable-rescatando-nombre-573718/)

ManuelV 08/04/2008 08:29

c#: variable rescatando nombre
 
Tengo una variable llamada txtCodigo y ademas una variable llamada txtDescripcion.
Mi idea es que cuando digite el codigo (txtCodigo), automaticamente aparezca la descripcion (txtDescripcion) al lado.

Soluciones?

de antemano
gracias

royrojas 08/04/2008 10:29

Re: c#: variable rescatando nombre
 
ok, supongo que txtCodigo y txtDescripcion son textbox en una forma.

lo que puedes hacer es que en el evento Leave del txtbox txtCodigo una ves que termine digitar el codigo y le de Tab o se salga del control busques en la base de datos el valor correspondiente y lo muestres en el textbox txtDescripcion.

tambien esta el textchange el cual cada ves que digites algo en el textbox lo ejecuta

ManuelV 08/04/2008 12:54

Re: c#: variable rescatando nombre
 
Cita:

Iniciado por royrojas (Mensaje 2354775)
ok, supongo que txtCodigo y txtDescripcion son textbox en una forma.

lo que puedes hacer es que en el evento Leave del txtbox txtCodigo una ves que termine digitar el codigo y le de Tab o se salga del control busques en la base de datos el valor correspondiente y lo muestres en el textbox txtDescripcion.

tambien esta el textchange el cual cada ves que digites algo en el textbox lo ejecuta

Disculpa,. pero no entiendo

se supone que debo escribir el enlaze ahi ?

private void txtDescripcion_TextChanged(object sender, EventArgs e)
{

}

royrojas 08/04/2008 13:23

Re: c#: variable rescatando nombre
 
Puedes llamar los eventos TextChange o el Leave del textbox que tiene el Codigo, con el que vas a consultar a la base de datos la descripcion de la misma, o consultarla en el objeto donde la tengas almacenada.


Código:

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            ActualizaDescripcion(this.textBox1.Text);
        }

        private void textBox1_Leave(object sender, System.EventArgs e)
        {
            ActualizaDescripcion(this.textBox1.Text);
        }

        private void ActualizaDescripcion(int Codigo)
        {
            string _desc;
            _desc = TraerValor(Codigo);
            this.textBox2.Text = _desc;
        }


ManuelV 08/04/2008 14:04

Re: c#: variable rescatando nombre
 
Cita:

Iniciado por royrojas (Mensaje 2355130)
Puedes llamar los eventos TextChange o el Leave del textbox que tiene el Codigo, con el que vas a consultar a la base de datos la descripcion de la misma, o consultarla en el objeto donde la tengas almacenada.


Código:

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            ActualizaDescripcion(this.textBox1.Text);
        }

        private void textBox1_Leave(object sender, System.EventArgs e)
        {
            ActualizaDescripcion(this.textBox1.Text);
        }

        private void ActualizaDescripcion(int Codigo)
        {
            string _desc;
            _desc = TraerValor(Codigo);
            this.textBox2.Text = _desc;
        }


=========================================
[Codigo]: nnnn [Descripcion]: < = aparece automatica segun el codigo
=========================================



este es el sp que tengo para obtener la descripcion

ALTER procedure [dbo].[sp_descripcionproducto_get]
(
@txtProducto int
)
as

SELECT PR.id
,PR.nombre

FROM tbl_producto PR

where PR.id = @txtProducto


entonces deberia quedar algo asi como esto ???

private void txtProducto_TextChanged(object sender, EventArgs e)
{
txtDescripcion.Text = <<<< aqui envio el parametro txtProducto, para retornar el nombre del producto ????>>>>

}

royrojas 08/04/2008 14:09

Re: c#: variable rescatando nombre
 
Yo te diria que es mucho mejor que lo hicieras con una funcion aparte, como la que te puse ahi private void ActualizaDescripcion(int Codigo), pero a como dices tambien te debe funcionar.

Y tambien en tu caso es mejor usar el evento Leave que el evento TextChange, esto como sugerencia.

Saludos

ManuelV 08/04/2008 14:23

Re: c#: variable rescatando nombre
 
Cita:

Iniciado por royrojas (Mensaje 2355200)
Yo te diria que es mucho mejor que lo hicieras con una funcion aparte, como la que te puse ahi private void ActualizaDescripcion(int Codigo), pero a como dices tambien te debe funcionar.

Y tambien en tu caso es mejor usar el evento Leave que el evento TextChange, esto como sugerencia.

Saludos

antes que nada muchas gracias roy,
creo que estoy cerca
asi va mi codigo

private void txtProducto_Leave(object sender, EventArgs e)
{
int ncodprod = Convert.ToInt32(this.txtProducto.Text);
ActualizaDescripcion(ncodprod);
}


private void ActualizaDescripcion(int ncodpro)
{
string _desc;
_desc = xxxxx;
this.txtDescripcion.Text = _desc;
}


dos consultas...
1) El leave para que me sirve?
2) donde dice xxxxx deberia ir el llamado al procedimiento almacenado?

royrojas 08/04/2008 14:28

Re: c#: variable rescatando nombre
 
1. El evento Leave es ejecutado cuando el cursor deja el control, osea cuando el cursor abandona el control. Por ejemplo estas escribiendo en el textbox2 y ahora te pasas al control textbox2, entonces ahi se ejecuta el Leave del textbox1

2. Es correcto

ManuelV 10/04/2008 21:37

Re: c#: variable rescatando nombre
 
Cita:

Iniciado por royrojas (Mensaje 2355230)
1. El evento Leave es ejecutado cuando el cursor deja el control, osea cuando el cursor abandona el control. Por ejemplo estas escribiendo en el textbox2 y ahora te pasas al control textbox2, entonces ahi se ejecuta el Leave del textbox1

2. Es correcto

Cree un pequeño form de prueba para ver lo que me dices y no me resulta.

La variable textBox1 es el codigo a ingresar.
La variable textBox2 es la descripcion a desplegar.
como aun no tengo el enlaze a la base de datos (ese sera otro dolor de cabeza), hize que despues de desplegar el codigo, ejemplo : 123, luego se desplegara 'textoprueba' pero no resulto.
que puede ser?


public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private void textBox1_Leave(object sender, System.EventArgs e)
{
ActualizaDescripcion(this.textBox1.Text);
}

private void ActualizaDescripcion(string Codigo)
{
string _desc;
_desc = "textoprueba";
this.textBox2.Text = _desc;
}
}
}

royrojas 11/04/2008 10:56

Re: c#: variable rescatando nombre
 
que es lo que no te funciona?

te fijaste que en el archivo designer tuvieras esta linea
this.textBox1.Leave += new System.EventHandler(this.textBox1_Leave);

es la que asocia el evento Leave a la funcion textBox1_Leave

ManuelV 11/04/2008 13:59

Re: c#: variable rescatando nombre
 
Cita:

Iniciado por royrojas (Mensaje 2359756)
que es lo que no te funciona?

te fijaste que en el archivo designer tuvieras esta linea
this.textBox1.Leave += new System.EventHandler(this.textBox1_Leave);

es la que asocia el evento Leave a la funcion textBox1_Leave

era eso roy rojas, gracias !!!! :aplauso:

ahora ire por mi segunda mision que es rescatarlo de la base de datos

manuel

Andreissima 18/05/2009 13:43

Respuesta: c#: variable rescatando nombre
 
En que parte del Design exactamente pones esta línea?
tengo el mismo problema :S
gracias


La zona horaria es GMT -6. Ahora son las 06:36.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.