none
Comunicación entre Form's RRS feed

  • Pregunta

  • Buenas, mi problema que tengo es... Tengo 2 Formularios, FormFactura y FormBuscar_Cliente. En el FormFactura tengo un textboxNombre que al escribir 3 caracteres empiece a buscar el nombre del cliente en otro formulario (FormBuscar_Cliente) por medio de un datagridview y al seleccionar el cliente, me devuelve datos esecíficos que necesito en el FormFactura. El problema está en que cuando selecciono datos en el datagridview, éste se cierra y se vuelve a abrir en blanco y tengo que cerrarlo no haciendo caso al this.close();

    Este es mi código:

    private void txtNombre_TextChanged(object sender, EventArgs e)
            {

                FormBuscar_Cliente client = new FormBuscar_Cliente(this);
                NegCliente dgv = new NegCliente();
                DataTable tbdatos = new DataTable();

                string Names = txtNombre.Text;

                if (Names.Length >= 3)
                {
                    tbdatos = dgv.BuscarClientesDGV(Names);
                    client.dgvClientes.DataSource = tbdatos;
                    client.ShowDialog();
                    client.dgvClientes.Visible = true;
                }

                else if (Names.Length == 0)
                {
                    client.dgvClientes.Visible = false;
                }

         }

    En el DataGridView del formulario FormBuscar_Cliente  tengo este código:

               

    public partial class FormBuscar_Cliente : DevExpress.XtraEditors.XtraForm
        {

            private FormCredito padre;

            public FormBuscar_Cliente(FormCredito Nombres)
            {
                InitializeComponent();
                padre = Nombres;
            }

            private void dgvClientes_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
            {
                dgvClientes.Columns[0].Visible = false;
            }

            private void dgvClientes_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                padre.lbIdCliente.Text = dgvClientes.CurrentRow.Cells[0].Value.ToString();
                padre.txtNombre.Text = "";
                padre.txtNombre.Text = dgvClientes.CurrentRow.Cells[1].Value.ToString();
                padre.txtCliente.Text = dgvClientes.CurrentRow.Cells[1].Value.ToString();
    this.Close();
            }
        }
    }

    Repito: Me devuelve bien los datos, peros e abre nuevamente mi FormBuscar_Cliente con el datagridview ya vacío.

    Gracias

    martes, 5 de mayo de 2020 3:28

Respuestas

  •         Buenas amigo, porque queres buscar mientras escribís ?  no le veo la importancia de realizar de esa forma. Porque si tenes muchos datos en tu grilla debes de cargar primero todo la grilla y luego hacer el filtro. Eso no  seria conveniente.

            Te recomiendo lo mas fácil y rápido. Tenes tu grilla vacía y cuando escribas en tu TexBoxBuscar con enter o Buton invocas a tu método para cargar la grilla.

    

           Algo asi como de arriba, carga los datos con enter o el boton buscar nomas.      

      De tal forma no manejas muchos eventos y controles del teclado.

    Saludos

    Bader Molinas

    Paraguay

    martes, 5 de mayo de 2020 4:37

Todas las respuestas

  •         Buenas amigo, porque queres buscar mientras escribís ?  no le veo la importancia de realizar de esa forma. Porque si tenes muchos datos en tu grilla debes de cargar primero todo la grilla y luego hacer el filtro. Eso no  seria conveniente.

            Te recomiendo lo mas fácil y rápido. Tenes tu grilla vacía y cuando escribas en tu TexBoxBuscar con enter o Buton invocas a tu método para cargar la grilla.

    

           Algo asi como de arriba, carga los datos con enter o el boton buscar nomas.      

      De tal forma no manejas muchos eventos y controles del teclado.

    Saludos

    Bader Molinas

    Paraguay

    martes, 5 de mayo de 2020 4:37
  • Hola

     

     

    Gracias por levantar tu consulta en los foros de MSDN. Cerraremos el Hilo, por ende si tiene alguna otra consulta por favor genera otra consulta para que la comunidad de foros te pueda asesorar.

     

    Siempre es un placer atender tus consultas!

     

    Gracias por usar los foros de MSDN.

     

    Oscar Navarro

    martes, 5 de mayo de 2020 12:53
    Moderador