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

acceso a un campo oculto de un gridview

Estas en el tema de acceso a un campo oculto de un gridview en el foro de .NET en Foros del Web. Hola tengo dos campos ocultos en un gridview.En la propiedad datakeysname tengo puesto los dos campos para poder acceder.Pero no peudo acceder a uno de ...
  #1 (permalink)  
Antiguo 23/12/2009, 10:29
 
Fecha de Ingreso: julio-2009
Mensajes: 60
Antigüedad: 14 años, 9 meses
Puntos: 0
acceso a un campo oculto de un gridview

Hola tengo dos campos ocultos en un gridview.En la propiedad datakeysname tengo puesto los dos campos para poder acceder.Pero no peudo acceder a uno de ellos.Necesito saber la forma que se puede utilizar para acceder a dichos campos.Un cordial saludo.
  #2 (permalink)  
Antiguo 23/12/2009, 12:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: acceso a un campo oculto de un gridview

Saludos josezamora.. mira, no se como estes manejando el acceso al DATAKEYS que si pudes acceder, ni se que control usas para manejarlos, pero te pongo un ejemplo donde yo tambien uso un gridView con un Campo Oculto usando DataKeys.. el Control para mi referencia de DAto es un RadioButton...

Código C:
Ver original
  1. private void FindCliente()
  2. {
  3.    int IdCliente = 0;
  4.    foreach (GridViewRow row in GridView1.Rows)
  5.    {
  6.                
  7.      HtmlInputRadioButton radio = row.Cells[0].Controls[1] as HtmlInputRadioButton;
  8.      if (radio != null)
  9.      {
  10.          if (radio.Checked == true)
  11.          {
  12.              IdCliente = int.Parse(GridView1.DataKeys[row.RowIndex].Value.ToString());
  13.              //Guardo mi Variable en un Session para usarlo en otra pantalla.
  14.               Session["IdValor"] = IdCliente;
  15.           }
  16.       }
  17.    }
  18. }

Como podrás ver, el control de RadioButton es el primer control en las Celdas de las filas del GridView(En la columna 0), la cual está oculta y con valor int. Se hace la referencia esta columna con el Radio, y únicamente hay que encontrar la posicion para obtener el VALOR(para eso es el foreach)....

Espero te sea útil esta información de lo contrario, podrías poner algo de código para entender un poco mejor lo que deseas hacer.

Atte. yo..
__________________
Si caminas por la Senda del Conocimiento... y una Luz en la Oscuridad Ilumina tu Camino... No seas cu#$r@ y compártela.
  #3 (permalink)  
Antiguo 24/12/2009, 02:07
 
Fecha de Ingreso: julio-2009
Mensajes: 60
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: acceso a un campo oculto de un gridview

Lo unio que quiero hacer mediante codigo es asignar en una variable viewstate el campo oculto.
Tengo dos campos ocultos y con uno accedo perfectamnete con la siguiente sentencia:
Me.GridView_productos.DataKeys(e.NewSelectedIndex) .Value.ToString()
pero el otro no se como acceder.
En la propiedad datakeyname tengo puesto el nombre del ccampo oculto pero cuando quiero acceder me da problema diciendo que no puede convertir un string a un integer.Por eso tengo problemas.Si alguien me lo puede solucionar.
Un saludo.
  #4 (permalink)  
Antiguo 24/12/2009, 10:28
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: acceso a un campo oculto de un gridview

Ya te fijaste en esta linea??:

Código C:
Ver original
  1. private void FindCliente()
  2. {
  3.                
  4.      //...
  5.              IdCliente = int.Parse(GridView1.DataKeys[row.RowIndex].Value.ToString());
  6.              //Guardo mi Variable en un Session para usarlo en otra pantalla.
  7.               Session["IdValor"] = IdCliente;
  8.           }
  9.       }
  10.    }
  11. }


En este caso, el código que te menciono es para C#, y aquí estoy convirtiendo el valor del campo que encontré mediante el foreach con un Parse y despues la guardo en una Variable de session si o que deseas es guardar un Integer tu codigo cre que sería mas o menos así:

Código C#:
Ver original
  1. //Si el Valor del Index es Int:
  2. Dim Variable as int;
  3.  
  4. VAriable = Me.GridView_productos.DataKeys(e.NewSelectedIndex);
  5.  
  6. ViewState("ValorVariable") = Variable;
A menos que el valor sea un String entonces usa Int.Parse

Avisa si te funcionó..

Saludos!
__________________
Si caminas por la Senda del Conocimiento... y una Luz en la Oscuridad Ilumina tu Camino... No seas cu#$r@ y compártela.

Última edición por mad249; 24/12/2009 a las 10:36 Razón: Lenguaje
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 15:33.