none
algun tipo de bucle, para ir guardando todos los id que selecciono con un checkbox y pasarlos a un textbox, RRS feed

  • Pregunta

  • tengo un gridview en asp.net c#, con un checkbox en cada registro, y ahorita todos  los datos que voy seleccionando se pasan a un a un listbox, pero al momento que los quiero pasar o guardar a otra tabla, me aparece que tengo que seleccionar uno del listbox

    tengo este codigo en el listbox si guarda cada elemento que voy seleccionndo, pero al momento de guardar en una tabla en mysql me pide que seleccione, cuando necesito que se mande todos, y el del textbox solo me inserta el ultimo seleccionado

     protected void seleccionar(object sender, EventArgs e)
             {
                var result = from row in GridView1.Rows.Cast<GridViewRow>()
                             where ((CheckBox)row.FindControl("chbItem")).Checked
                             select new
                             {
                                 peso = Convert.ToInt32(row.Cells[4].Text),
                                 cantidad = Convert.ToInt32(row.Cells[18].Text),
                             };
                            for (int i=0;i< GridView1.Rows.Count; i++)
                            {
                                 CheckBox chk = GridView1.Rows[i].FindControl("chbItem") as CheckBox;
                                if(chk.Checked)
                                {
                                Nombre2.Text=(GridView1.Rows[i].Cells[3].Text).ToString();
                                        //en estos son los 2 elementos donde se guardan los id, el primero es listbox, y el segundo un textbox
                                IdBoletas.Items.Add(GridView1.Rows[i].Cells[1].Text);
                                 ids.Text = (GridView1.Rows[i].Cells[1].Text).ToString();
                                }
                            }
                PesoTotal.Text = result.Sum(x => x.peso).ToString();
                cantidadTotal.Text = result.Sum(x => x.cantidad).ToString();
    ;
            } 

    • Editado danielglez viernes, 13 de septiembre de 2019 15:18
    viernes, 13 de septiembre de 2019 15:13

Respuestas

  • Hola Daniel,  por lo que entiendo cargas los mismos valores en el List que en el Box, por qué tienes que cargar los del textbox tembién? No alcanza con recorrer el ListBox y enviarlo a la nueva tabla? Algo está faltando, si puedes coloca el código de carga para al otra tabla. Si el caso es llenar el texbox con todos los seleccionados del List puedes actuar en la carga a medida que se selecciona con Id.Text+=(GridView1.Rows[i].Cells[1].Text).ToString() + Environment.NewLine; Pero me parece redundante si ya los datos los tenedras en el ListBox

    Saludos


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    • Marcado como respuesta danielglez viernes, 13 de septiembre de 2019 16:35
    viernes, 13 de septiembre de 2019 16:24

Todas las respuestas

  • Hola Daniel,  por lo que entiendo cargas los mismos valores en el List que en el Box, por qué tienes que cargar los del textbox tembién? No alcanza con recorrer el ListBox y enviarlo a la nueva tabla? Algo está faltando, si puedes coloca el código de carga para al otra tabla. Si el caso es llenar el texbox con todos los seleccionados del List puedes actuar en la carga a medida que se selecciona con Id.Text+=(GridView1.Rows[i].Cells[1].Text).ToString() + Environment.NewLine; Pero me parece redundante si ya los datos los tenedras en el ListBox

    Saludos


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    • Marcado como respuesta danielglez viernes, 13 de septiembre de 2019 16:35
    viernes, 13 de septiembre de 2019 16:24
  • es que puse para ver si todos los elementos se cargaban en un textbox, por que en el listbox, tengo que darle click a uno de los elementos cargados para mandarlo a una tabla, cuando quiero que se manden todos

    viernes, 13 de septiembre de 2019 16:28
  • LA RESPUESTA QUEDO ASI

             protected void seleccionar(object sender, EventArgs e)
             {
                var result = from row in GridView1.Rows.Cast<GridViewRow>()
                             where ((CheckBox)row.FindControl("chbItem")).Checked
                             select new
                             {
                                 peso = Convert.ToInt32(row.Cells[4].Text),
                                 cantidad = Convert.ToInt32(row.Cells[18].Text),
                             };
                            for (int i=0;i< GridView1.Rows.Count; i++)
                            {
                                 CheckBox chk = GridView1.Rows[i].FindControl("chbItem") as CheckBox;
                                if(chk.Checked)
                                {
                                 Nombre2.Text=(GridView1.Rows[i].Cells[3].Text).ToString();
                                 ids.Text += (GridView1.Rows[i].Cells[1].Text+",").ToString()  ;
                                }
                            }
                PesoTotal.Text = result.Sum(x => x.peso).ToString();
                cantidadTotal.Text = result.Sum(x => x.cantidad).ToString();

            } 

    viernes, 13 de septiembre de 2019 16:36