ASP.NET - mandar datos desde un datagrid a otra pagina

 
Vista:

mandar datos desde un datagrid a otra pagina

Publicado por javi s. (9 intervenciones) el 02/09/2007 15:46:38
Hola a todos,

Mi pregunta es la siguiente:

¿Como puedo mandar los datos de dos columnas de un datagrid a otra pagina web?

Tengo un datagrid cargado con datos y tengo una columna hiperlinkcolumn definida de esta forma:

<asp:HyperLinkColumn HeaderText="Sugerencia" DataNavigateUrlField="Sugerencia"
DataNavigateUrlFormatString="../SugerenciaDetalle.aspx?sugerencia={0"
DataTextField="Sugerencia" DataTextFormatString="{0:c}" Target="_blank">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:HyperLinkColumn>

Este enlace cuando pincho sobre el campo Sugerencia (en cualquier fila) me redirige a la pagina SugerenciaDetalle y me envia la informacion del dato de la fila que he pinchado, pero lo que quiero hacer esque tambien me envie informacion sobre el dato de la misma fila pero de otra columna.
Quiero decir que cuando se pinche sobre el codigo de la sugerencias AAAAAA1 me redireccione a la pagina SugerenciaDetalle enviandome ese codigo de la sugerencia pero ademas el dato que hay en su columna Estado.

He probrado poniendo esto:

<asp:HyperLinkColumn HeaderText="Sugerencia"
DataNavigateUrlField="Sugerencia, NomEstado_ESP" DataNavigateUrlFormatString="../SugerenciaDetalle.aspx?sugerencia={0}?estado={1}"
DataTextField="Sugerencia" DataTextFormatString="{0:c}"
Target="_blank">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:HyperLinkColumn>

Donde NomEstado_ESP es el campo DataFieldText de la columna estado pero me da el siguiente error:

"No se encontró ningún campo o propiedad 'Sugerencia, NomEstado_ESP' en el origen de datos seleccionado".

¿Que es lo que hago mal y que es lo que deberia hacer?

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:mandar datos desde un datagrid a otra pagina

Publicado por Pablo Iñareta (224 intervenciones) el 04/09/2007 11:43:11
yo hago lo siguiente uso el evento selectIndexChanged del grid, con un selectCommand ahi puedo recoger facilmente todos los datos de la fila, luego haces un response.redirect y por la url le mandas todos los datos q quieras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mandar datos desde un datagrid a otra pagina

Publicado por javi s. (9 intervenciones) el 04/09/2007 12:17:29
He intentado poner el evento que me has dicho pero no me hace nada.
¿Te importaria ponerme algo de codigo para ver porque me falla?

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Santos Pairazamán

RE:mandar datos desde un datagrid a otra pagina

Publicado por Santos Pairazamán (46 intervenciones) el 04/09/2007 19:11:04
Yo lleno los datos bindeando el gridview.
y en el evento rowdatabound hago esto

If e.Row.RowType = DataControlRowType.DataRow Then
Dim hpl As HyperLink = CType(e.Row.FindControl("hplSelect"), HyperLink)
hpl.NavigateUrl = "aqui va tu url con los parametros q deseas"
End If

donde hplselect es el nombre del control hiperlink agregado como una columna en item template.
para obtener el dato de la primera columna de grid uso esto ;

e.Row.Cells(0).Text ' esto lo puedes mandar como parametro en la url

Espero t sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mandar datos desde un datagrid a otra pagina

Publicado por javi s. (9 intervenciones) el 05/09/2007 13:12:19
No me sirve ya que en un datagrid en aspnet no existe el evento rowdatabound lo he intentado hacer con itemdatabound pero me da error:

en el datagrid en html tengo esto
<asp:datagrid OnItemDataBound="seleccion".....>

Public Sub selccion(ByVal source As Object, ByVal e As DataGridItemEventArgs)
If e.Item.ItemType.Equals(ListItemType.Item) Or e.Item.ItemType.Equal ListItemType.AlternatingItem) Then
Dim boton As HyperLink
boton = New HyperLink
boton = CType(e.Item.FindControl("hyperlink1"), HyperLink)
boton.NavigateUrl = "../InformeInvestigacion.aspx"
End If
End Sub

Me dice algo de systemnullreference referente al boton al cargar la pagina y he depurado y esque en el load de la pagina al cargar el datagrid llama a este evento y no se porque.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mandar datos desde un datagrid a otra pagina

Publicado por isabel (1 intervención) el 24/06/2010 21:20:48
hola, se que este ticket es muy viejo, pero me sirvio para mi duda de como mandar un dato por medio del hiperlink, gracias por ello, indagando en la pregunta que se hace aqui, anexo la respuesta a la pregunta, por aque a muchos como yo aunque sean viejos nos sirven estos enlaces...

<telerik:GridHyperLinkColumn HeaderText="Reporte" DataNavigateUrlFields="IdPedido,IdModelo"
DataNavigateUrlFormatString="../Reportes/Pedido.aspx?IdPedido={0}&IdModelo={1}" Text="Reporte">
</telerik:GridHyperLinkColumn>

este es un telerik pero si se dan cuenta son exactamente las mismas propiedades, espero y les sirva a los que lo vean..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar