Foros del Web » Programando para Internet » ASPX (.net) »

Recuperar valores de una columa GridView oculta..

Estas en el tema de Recuperar valores de una columa GridView oculta.. en el foro de ASPX (.net) en Foros del Web. Como puedo recuperar los datos de uan columna gridview que esta en estado invisible?o que otro truco puedo ocupar?¿...
  #1 (permalink)  
Antiguo 28/09/2006, 12:28
Avatar de shumito  
Fecha de Ingreso: mayo-2006
Mensajes: 248
Antigüedad: 18 años
Puntos: 0
Recuperar valores de una columa GridView oculta..

Como puedo recuperar los datos de uan columna gridview que esta en estado invisible?o que otro truco puedo ocupar?¿
  #2 (permalink)  
Antiguo 28/09/2006, 15:10
Avatar de shumito  
Fecha de Ingreso: mayo-2006
Mensajes: 248
Antigüedad: 18 años
Puntos: 0
yap solucionado....he aprendido algo mas..jajaj
lo oculte por codigo justo antes de presentar el gridview......
ahi ta si alguien lo quiere.
private void HideColumns(GridView grdView)
{
grdView.HeaderRow.Cells[0].Visible = false;
grdView.HeaderRow.Cells[grdView.Columns.Count - 2].Visible = false;
foreach (GridViewRow row in grdView.Rows)
{
row.Cells[0].Visible = false;
row.Cells[grdView.Columns.Count - 2].Visible = false;
}
}


ahora mi pregunta es otra como recorro mi checkbox que esta en el gridview y q ademas es un template.....
  #3 (permalink)  
Antiguo 28/09/2006, 15:11
Avatar de shumito  
Fecha de Ingreso: mayo-2006
Mensajes: 248
Antigüedad: 18 años
Puntos: 0
ojo ahi estoy ocultando 2 columnas especificas......puede ser 1 o X
  #4 (permalink)  
Antiguo 29/09/2006, 01:00
 
Fecha de Ingreso: marzo-2003
Mensajes: 85
Antigüedad: 21 años, 1 mes
Puntos: 1
Hola shumito,

a la hora de ocultar la columna, la puedes ocultar toda de golpe sin falta de ocultar la cabecera e ir fila por fila. Prueba esto:

Código:
gridView.Columns[0].visible = False
El problema que le encontré en los gridView a esto, es que si necesitas leer el dato hay que ponerla visible, leerlo y volver a ocultarla...

En cuanto a cómo recorrer los check, esto es lo que yo hago:

Código:
Dim row As GridViewRow
Dim check As CheckBox
'Recorremos todas las filas del grid
For Each row In gvListado.Rows
     check = row.Cells(0).Controls(1)
     'Comprobamos si el checkbox está marcado
     If check.Checked Then
          .....
     End If
Next
Cuando asignas el check en el Cells(0), irá tú número de columna que siempre empiezan en 0 y las ocultas también cuentan. En principio si no tienes nada más en la columna el control check será el de la posición 1 de la colección de controles, en la 0 siempre pone un literal.

espero que te sirva
  #5 (permalink)  
Antiguo 29/09/2006, 10:44
Avatar de shumito  
Fecha de Ingreso: mayo-2006
Mensajes: 248
Antigüedad: 18 años
Puntos: 0
sip el problema que me genero tu solucion, porque ya la habia probado, fue que solo me quito el text de la columna pero no la celda donde se encontraba el nombre de la columna.......

Saludos !
  #6 (permalink)  
Antiguo 10/07/2008, 09:32
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Recuperar valores de una columa GridView oculta..

Yo encontre el modo "oficial" de hacerlo, usando los datakeynames del gridview.

ej:

<asp:gridview blablabla datakeynames="id_producto">

Dejar la columna como invisible:
<asp:BoundField DataField="id_producto" ReadOnly="True" Visible="False" />

Y despues recuperas el valor desde el codigo asi:
VB
Dim idUsuario As String = Me.GridView1.SelectedDataKey("id_producto")

C#
string idUsuario = GridView1.SelectedDataKey("id_producto") //O como se escriba en C#, que no estoy seguro...

  #7 (permalink)  
Antiguo 23/04/2010, 16:09
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
De acuerdo Respuesta: Recuperar valores de una columa GridView oculta..

Yo tb tuve el mismo problema y lo solucioné de esta forma:
1.- Mantén la columna siempre visible
2.- La propiedad ItemStyle-Width de tu columna debe tener tamaño "0px".
3.- La propiedad Font-Size del ItemStyle debe ser de tamaño "0pt".

Así podrás acceder al dato de la columna como si fuera cualquier otra, la única diferencia es que no será mostrada en pantalla.

  #8 (permalink)  
Antiguo 24/04/2010, 15:14
 
Fecha de Ingreso: abril-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
Respuesta: Recuperar valores de una columa GridView oculta..

Cita:
Iniciado por HARTZ Ver Mensaje
Yo encontre el modo "oficial" de hacerlo, usando los datakeynames del gridview.

ej:

<asp:gridview blablabla datakeynames="id_producto">

Dejar la columna como invisible:
<asp:BoundField DataField="id_producto" ReadOnly="True" Visible="False" />

Y despues recuperas el valor desde el codigo asi:
VB
Dim idUsuario As String = Me.GridView1.SelectedDataKey("id_producto")

C#
string idUsuario = GridView1.SelectedDataKey("id_producto") //O como se escriba en C#, que no estoy seguro...

Solo como observación, no necesitas dejar la columna invisible en el grid para mantenerla como Datakey, se asigna el valor llave a la fila tenga o no el campo.
Los datakeys son un valor que se asigna como identificador a cada fila del GridView
  #9 (permalink)  
Antiguo 29/12/2010, 12:42
 
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Recuperar valores de una columa GridView oculta..

Cita:
Iniciado por daniel44 Ver Mensaje
Solo como observación, no necesitas dejar la columna invisible en el grid para mantenerla como Datakey, se asigna el valor llave a la fila tenga o no el campo.
Los datakeys son un valor que se asigna como identificador a cada fila del GridView
Yo lo implemente asi como tal peero me sale un error:

Object reference not set to an instance of an object, a se debe esto??
  #10 (permalink)  
Antiguo 29/12/2010, 12:47
 
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Recuperar valores de una columa GridView oculta..

mi codigo es:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click

Dim grid As GridView = Me.GridView1
Dim checkBox As CheckBox
Dim resultado1 As New StringBuilder
Dim resultado2 As New StringBuilder
Dim resultado3 As New StringBuilder
Dim resultado4 As New StringBuilder
Dim idUsuario As String

For Each renglon As GridViewRow In grid.Rows
checkBox = CType(renglon.FindControl("CheckBox"), CheckBox)
If checkBox.Checked Then 'Hacer algo con esta información
' resultado.Append(String.Format("El renglón {0} está descontinuado <br />", renglon.DataItemIndex))
resultado1.Append(String.Format(renglon.Cells(1).T ext))
resultado2.Append(String.Format(renglon.Cells(2).T ext))
resultado3.Append(String.Format(renglon.Cells(3).T ext))
'resultado4.Append(String.Format(renglon.Cells(4). Text)) esto lo sustituyo por la linea de abajo

idUsuario = Me.GridView1.SelectedDataKey("CON_VALOR")
end if
Next

Label4.Text = resultado1.ToString()
Label5.Text = resultado2.ToString()
Label6.Text = resultado3.ToString()
label 7.text = idusuario

end sub

alguien que me pueda iluminar??, gracias.
  #11 (permalink)  
Antiguo 04/06/2012, 09:38
 
Fecha de Ingreso: agosto-2007
Mensajes: 3
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Recuperar valores de una columa GridView oculta..

Muchas gracias!! Esta muy bien explicado y funciona a la primera
  #12 (permalink)  
Antiguo 17/08/2012, 13:14
 
Fecha de Ingreso: octubre-2008
Mensajes: 61
Antigüedad: 15 años, 6 meses
Puntos: 0
Sonrisa Respuesta: Recuperar valores de una columa GridView oculta..

Cita:
Iniciado por shumito Ver Mensaje
Como puedo recuperar los datos de uan columna gridview que esta en estado invisible?o que otro truco puedo ocupar?¿
Que tal Mis Amigos , antes de dar con la solución ví muchisimos post con ideas de lo más raras aunque dudo si la solución que les voy a dar sea la optima pero a mi me funcionó muy bien y es de lo mas sencilla, sólo hay que mostrar y coultar la columna en tiempo de ejecución, es decir mostrarla cuando se vaya a leer y ocultarla cuando ya no y en la interface gráfica no se ve como se muestra por que los hace en un tiempo muy corto

-teniendo oculta nuestra columna hacemos lo siguiente:

Me.DataGridView1.Columns(0).Visible = True
Me.ID.Text = Me.DataGridView1.Rows(Me.DataGridView1.CurrentRow. Index).Cells("ID_REG").Value.ToString
Me.TxtDescripcion.Text = Me.DataGridView1.Rows(Me.DataGridView1.CurrentRow. Index).Cells("DESCRIPCION").Value.ToString
Me.DataGridView1.Columns(0).Visible = False

Dónde Columns(0), es el indice de la columna a ocultar, espero les sirva a mi me sirvió, saludos
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 16:42.