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

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
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
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
-
-
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();
}