Foros del Web » Programación para mayores de 30 ;) » .NET »

No puedo acceder a los checkbox seleccionados de un GridView

Estas en el tema de No puedo acceder a los checkbox seleccionados de un GridView en el foro de .NET en Foros del Web. Hola a todos en el Foro Tengo el siguiente problema, he conseguido agregar una columna de checkbox a un GridView que se llena con una ...
  #1 (permalink)  
Antiguo 07/09/2011, 09:25
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 0
No puedo acceder a los checkbox seleccionados de un GridView

Hola a todos en el Foro

Tengo el siguiente problema, he conseguido agregar una columna de checkbox a un GridView que se llena con una consulta a una BD, el problema esta en que cuando quiero acceder a las filas que estan seleccionadas, todas retornan con el atributo checked en false, ninguna en true, ni las que estan seleccionadas,

Asi cree el GridView
Código ASP:
Ver original
  1. <asp:GridView ID="gv_trabSeleccionar" runat="server"                        
  2.                         BackColor="White"
  3.                         BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px"
  4.                         CellPadding="3"
  5.                         ForeColor="Black"
  6.                         GridLines="Vertical"
  7.                         Width="753px">
  8.                         <AlternatingRowStyle BackColor="#CCCCCC"  />
  9.                        
  10.                         <Columns>
  11.                             <asp:TemplateField AccessibleHeaderText="Seleccionados">
  12.                                 <ItemTemplate>
  13.                                     <asp:CheckBox ID="selector" runat="server" />
  14.                                 </ItemTemplate>
  15.                             </asp:TemplateField>
  16.                         </Columns>
  17.                        
  18.                         <FooterStyle BackColor="#CCCCCC" />
  19.                         <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
  20.                         <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
  21.                         <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
  22.                         <SortedAscendingCellStyle BackColor="#F1F1F1" />
  23.                         <SortedAscendingHeaderStyle BackColor="Gray" />
  24.                         <SortedDescendingCellStyle BackColor="#CAC9C9" />
  25.                         <SortedDescendingHeaderStyle BackColor="#383838" />
  26.                     </asp:GridView>

Y con este codigo trato de acceder a los seleccionados
Código C:
Ver original
  1. protected void Button2_Click(object sender, EventArgs e)
  2.         {
  3.             //Declaracion de variables
  4.             int i = 0; // filas del GV para seleccionar
  5.             int j = 0; // filas del GV involucrados
  6.             string valor = string.Empty;
  7.             CheckBox chk;
  8.             DataTable tabla = new DataTable();
  9.             DataRow tabla_fila;      
  10.            
  11.             foreach(GridViewRow fila in gv_trabSeleccionar.Rows)
  12.             {
  13.                 chk = (CheckBox)fila.FindControl("selector");
  14.  
  15.                 if (chk.Checked)
  16.                 {
  17.                     tabla_fila = tabla.NewRow();
  18.  
  19.                     for (j = 0; j < gv_trabSeleccionar.Columns.Count; j++)
  20.                     {
  21.                         tabla_fila[j] = gv_trabSeleccionar.Rows[i].Cells[j].ToString();
  22.                     }
  23.                     tabla.Rows.Add(tabla_fila);
  24.                 }
  25.             }
  26.  
  27.             gv_trabInvolucrados.DataSource = tabla;
  28.             gv_trabInvolucrados.DataBind();                    
  29.         }

Ojala alguien pueda orientarme, se agradece de antemano.

Chauz
  #2 (permalink)  
Antiguo 07/09/2011, 13:04
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: No puedo acceder a los checkbox seleccionados de un GridView

Hola a todos, alguien podria cooperar con un guia para mi problema??.

He leido un monton de post y ejempplos y todos indican que haga tal como tengo hecho mi codigo, pero no logro que me aparezcan los registros seleccionados, al hacer clic sobre un checkbox de la grilla lo tiquea pero cuando apreto el boton para almacenar la info, todos las filas del gridview llegan con el checkbox en checked = false, no tengo idea del porque..

Cualquier ayuda sera bienvenida, de antemano gracias.
  #3 (permalink)  
Antiguo 08/09/2011, 09:06
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: No puedo acceder a los checkbox seleccionados de un GridView

Hola a todos en el Foro.

He notado que harta gente ha leido mi post y no creo que ninguno pueda ayudarme, asi que pienso que no expuse bien mi problema.

Lo que me pasa es que cree un GridView con un listado de trabajadores, a este GV le agregue Control checkbox a traves de las etiquetas TemplateField e ItemTemplate.

Al cargar la pagina me enlaza perfecto los registros de la BD y crea cada checkbox en cada fila. Hasta aca todo bien.

El problema esta en que si selecciono por ejemplo tres trabajadores, visualmente las casillas aparecen chequeadas, pero cuando quiero capturar los valores del checkbox, para poder saber cual fila fue seleccionada, TODOS, los checkbox llegan con el valor "checked" en falso, incluso los tres que seleccione y que aparecen marcados, en la pagina.

Como puedo hacer para poder capturar la decision del usuario, las filas seleccionadas, he tratado con el checkedchanged pero no me funciona tampoco. Por favor necesito alguna orientacion.

De atemano gracias a todos
  #4 (permalink)  
Antiguo 08/09/2011, 12:27
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: No puedo acceder a los checkbox seleccionados de un GridView

Hola amigos del Foro.

Encontre la solucion, era mas simple de lo que creia, pero tuve que interiorizarme harto sobre los PostBack y eso.

Mi problema pasaba por lo siguiente, cuando se presiona un Boton en ASP Net se realiza un PostBack automatico y por ende me refrescaba el GridView y luego efexctuaba los procedimientos que necesitaba.

La solucion es realizar la carga inicial del GridView solo si no se realiza PostBack, la validacion es la siguiente.

Código C:
Ver original
  1. if (!Page.IsPostBack)
  2.                 {
  3.                     //Inicializamos el boton que desplegara el popUp
  4.                     btn_buscarTrab.Attributes.Add("onClick", "url();");
  5.  
  6.                     contratista = Request.QueryString["cont"];
  7.  
  8.                     sql = "SELECT ...
  9.  
  10.                    conx_remota.Conectar();
  11.                    resp_sql = conx_remota.Consultar(sql);
  12.  
  13.                    gv_trabSeleccionar.DataSource = resp_sql;
  14.                    gv_trabSeleccionar.DataBind();
  15.                }

Muchas gracias a quienes leyeron este Post y espero que si alguien tiene el mismo problema pueda solucionarlo con lo que les comente.

Por mi parte doy de baja este Post ya que entonree la solucion.

Chauz
  #5 (permalink)  
Antiguo 23/04/2012, 08:49
 
Fecha de Ingreso: marzo-2012
Ubicación: Futrono, Chile
Mensajes: 6
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: No puedo acceder a los checkbox seleccionados de un GridView

Tenía este mismo problema y lo solucioné al leer esto , muchas gracias!!

Etiquetas: acceder, bd, checkbox, gridview
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:30.