• Sábado 21 de Diciembre de 2024, 11:34

Autor Tema:  Actualización de un Formulario  (Leído 993 veces)

elyasiso

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Actualización de un Formulario
« en: Martes 14 de Abril de 2009, 22:02 »
0
Tengo un formulario que permite insertar, traer los datos y actualizarlos. Este formulario consta de un DropDownList, un ListBox y 6 CheckBox independientes y 2 botones Insertar, Actualizar . Insertar aparece cuando no hay ningun parametro por la url y modificar cuando sí se envían los parámetros.

Al registrar datos se realiza bien , inserta y luego lo direcciono a una página donde hay una cosulta en un GDview. A partir de este selecciono un registro para modificarlo y vuelvo a invocar el formulario inicial el boton insertar lo oculto y aparece el boton modificar, el formulario trae todos los datos bien de la bd  es decir el DropDownList, ListBox y los CheckBox  como los inserto el usuario.

El problema es que cuando se va a realizar un cambio en cualquiera de los campos el formulario no los toma.

protected void Page_Load(object sender, EventArgs e)
    {
       /*Looks for the laboratories*/
       /*Trae los datos y si se quiere se pueden modificar*/
        int CualSel;
        if ((Request.QueryString["CodComp"]!= null)&&(Request.QueryString["CodLab"]!= null))
        {
            CualSel = 3;
            LoadLaboratory(CualSel, Session["Company"].ToString());
            RecoverLab(Request.QueryString["CodComp"],Request.QueryString["CodLab"]);
        }

/*Los datos son nuevos los inserta*/
        else
        {
            CualSel = 2;
            LoadLaboratory(CualSel, Session["Company"].ToString());      
           
        }

    }


/*Llena el  DropDownList*/
protected void LoadLaboratory(int typeselect,string CodPlant)
    {
        /*Parameters of search*/
        this.TxtComp.Text = CodPlant;
        object[] datos = new object[7];
        datos[0] = CodPlant;    /*Code Company*/
        datos[1] = 3;           /*Type of Company, 3 Laboratories */
        datos[2] = 1;           /*State*/
        datos[3] = "";          /*Nit*/
        datos[4] = "";          /*Name or Trade name*/
        datos[5] = "";
        datos[6] = "";

        ReglasEmpresa mylab = new ReglasEmpresa();
        DataTable dtlab = mylab.blConsultViewCompany(datos,typeselect);
       
        if (dtlab != null && dtlab.Rows.Count>0)
        {
            DropLaboratorios.DataValueField = dtlab.Columns[0].ToString();
            DropLaboratorios.DataTextField = dtlab.Columns[3].ToString();
            DropLaboratorios.DataSource = dtlab.DefaultView;
            DropLaboratorios.DataBind();        
        }        
    }

/*Recupera la información de la bd*/
 protected void RecoverLab(string CodComp, string Codlab)
    {    
        ReglasLaboratorios mylab = new ReglasLaboratorios();
        DataTable dtlab = mylab.blConsultViewLab(CodComp, Codlab, 1);


        if (dtlab.Rows.Count > 0)
        {
            this.TxtComp.Text = dtlab.Rows[0][0].ToString();                  
            this.DropLaboratorios.SelectedValue = dtlab.Rows[0][1].ToString();
            this.LstTipo.SelectedValue = dtlab.Rows[0][24].ToString();

            if (dtlab.Rows[0][19].ToString() == "Si")
            {
                this.ChkProteina.Checked = true;            
            }

            if (dtlab.Rows[0][20].ToString() == "Si")
            {
                this.ChkGrasa.Checked = true;
            }
                       
            if (dtlab.Rows[0][21].ToString() == "Si")
            {
                this.ChkSolidos.Checked = true;
            }
           
            if (dtlab.Rows[0][22].ToString() == "Si")
            {
                this.ChkColiformes.Checked = true;
            }

            if (dtlab.Rows[0][23].ToString() == "Si")
            {
                this.ChkMesofilos.Checked = true;
            }

            this.DropLaboratorios.Enabled = false;
           // this.BtnAceptar.Visible = false;
            //this.BtnModificar.Visible = true;
            this.Submit1.Visible = false;
            this.Submit2.Visible = true;
        }

       
    }


/*Boton Insertar este funciona bien*/
  protected void Submit1_ServerClick(object sender, EventArgs e)
    {
       /*Recover information of the form*/
        object[] datos = new object[9];
        datos[0] = Session["Company"].ToString();
        datos[1] = DropLaboratorios.SelectedItem.Value;
        datos[2] = LstTipo.SelectedItem.Value;
        datos[3] = "No";
        datos[4] = "No";
        datos[5] = "No";
        datos[6] = "No";
        datos[7] = "No";
       
        if (ChkProteina.Checked == true)
        {
            datos[3] = "Si";
        }
        if (ChkGrasa.Checked == true)
        {
            datos[4] = "Si";
        }
        if (ChkSolidos.Checked == true)
        {
            datos[5] = "Si";
        }
        if (ChkMesofilos.Checked == true)
        {
            datos[6] = "Si";
        }
        if (ChkColiformes.Checked == true)
        {
            datos[7] = "Si";
        }

        datos[8] = "321654654";

        ReglasLaboratorios mylab = new ReglasLaboratorios();
        mylab.blInsertLaboratories(datos);
        Response.Redirect("../xxxxx/xxxxx.aspx");
       
    }



protected void Submit2_ServerClick(object sender, EventArgs e)
    {
        /*Recover information of the form*/
        object[] datos = new object[9];
        datos[0] = Session["Company"].ToString();
        datos[1] = DropLaboratorios.SelectedItem.Value;
        //Response.Write(datos[1]);
        string valor,valor1,valor2,valor3,valor4,valor5;
        valor = this.LstTipo.SelectedIndex.ToString();
        Response.Write(valor);
       
        if (this.LstTipo.SelectedIndex == 0)
        {
            valor = "Si";
        }
        else
        {
            valor = "No";
        }
        datos[2] = valor;


        valor1 = ChkProteina.Checked.ToString();
        Response.Write(valor1);
        if (valor1 == "True")
        {
            datos[3] = "Si";
        }
        else
        {
            datos[3] = "No";        
        }


        valor2 = ChkGrasa.Checked.ToString();
        if (valor2 == "True")
        {
            datos[4] = "Si";
        }
        else
        {
            datos[4] = "No";
        }


        valor3 = ChkSolidos.Checked.ToString();
        if (valor3 == "True")
        {
            datos[5] = "Si";
        }
        else
        {
            datos[5] = "No";
        }


        valor4 = ChkMesofilos.Checked.ToString();
        if (valor4 == "True")
        {
            datos[6] = "Si";
        }
        else
        {
            datos[6] = "No";
        }

        valor5 = ChkColiformes.Checked.ToString();
        if (valor5 == "True")
        {
            datos[7] = "Si";
        }
        else
        {
            datos[7] = "No";
        }        
       

        datos[8] = "65496876";

       
        ReglasLaboratorios mylab = new ReglasLaboratorios();
        mylab.blUpdateLaboratories(datos);
        RecoverLab(datos[0].ToString(), datos[1].ToString());
        //Response.Redirect("xxxxx.aspx");
    }




Lo he intentado con botones de html con botones de asp colocandole autopostback pero al cambiar la información vuelve y coloca los datos iniciales. Les agradecería mucho que me ayudarán