Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SID_SILVA

Abrir janela Pop UP atraves de Link no GridView

Recommended Posts

Boa tarde Amigos

 

Aqui estou novamente e agora com o seguinte problema.

 

Tenho um gridview e um dos campos e um link.Quando eu clicar nesse link eu quero abrir uma janela Modal Pop Up, com os dados do registro clicado.

Eu ate consigo abrir uma nova pagina com os registros desejados (Nao Pop UP) so que ai eu nao visualizo os dados iniciais do grid.

 

O objetivo da janela Modal Pop Up, e permitir a visualizacao do grid por tras da tela, assim quando eu fechar a janela Pop Up, volto para o grid.

 

Tenho que colocar o codigo da janela Modal Pop Up em um dos eventos do GridView, para que quando eu clicar no link a janela seja aberta.

Eu ainda nao domino esses varios eventos do GridView.

 

 

Como posso fazer isso?

 

 

Obrigado e um Abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de um Hyperlink utilize um SelectButton e no evento escreva seu código javascript.

Estilo a esse artigo: http://www.quintelab.com.br/ShowArtigos.asp?codigo=6

A diferença é que no evento da grid eu fechei a janela, você deve mudar para seu javascript do open.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia e Obrigado por sua ajuda Quintelab

 

Na verdade eu ate pensei nisso, porem eu ja uso um botao e para outra finalidade eu eu exibo o nome do cliente do link.

Na verdade eu tenho um botao e 2 links para cada linha do GridView e em cada um dos links eu preciso abrir uma janela pop up.

 

E agora?

 

Obrigado e um Abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia e Obrigado por sua ajuda Quintelab

 

Na verdade eu ate pensei nisso, porem eu ja uso um botao e para outra finalidade eu eu exibo o nome do cliente do link.

Na verdade eu tenho um botao e 2 links para cada linha do GridView e em cada um dos links eu preciso abrir uma janela pop up.

 

E agora?

 

Obrigado e um Abraco

Bom dia SID_SILVA,

 

Eu não entendi muito bem, se eu interpretar errado depois me corrija ok!

 

Você quer abrir um link em uma outra janela com informações do usuário.

 

Crie uma variável de sessão que busque o usuário pelo código de usuário selecionado.

faça a outra página com a consulta que desejar e recebendo todas as informações no page load...

 

Quando clicar no link ....ele vai direcionar para aquela pagina que está pegando essa váriavel de sessão.

Isso resolveu meu problema..

 

Abraços!

brissolare

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado por sua ajuda Brissolare

 

Sim e isso que eu quero.Eu tenho 2 links no meu GridView e cada um deles devera abrir uma janela modal pop up, com as devidas informacoes.

Dsentro do GridView Tasks eu defini qual sera a pagina de destino e ate ai tudo bem, a pagina realmente e aberta.Porem eu desejo que seja uma janela pop up, o que nao esta acontecendo.

 

Eu disse que tenho um botao, alem dos 2 links e eu consigo colocar o codigo no botao.Porem o botao tem outra finalidade e o codigo para abrir a janela modal pop up tem mesmo que ficar no link do gridview.

 

Com relacao a passar as informacoes dos registros para a outra pagina, felizmente isso nao e problema.O problema mesmo e abrir a janela pop up, clicando no link do gridview.

 

Sera que existe algum metodo do gridview, onde eu possa colocar esse codigo para abrir essa janela.

 

 

Muito obrigado e um Abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se te ajuda:

 

.aspx.cs

protected void gvDados_RowDataBound(object sender, GridViewRowEventArgs e)
{
	if (e.Row.RowType == DataControlRowType.DataRow)
	{
		HyperLink hlk = e.Row.FindControl("linkOne") as HyperLink;
		hlk.NavigateUrl = "java script:window.open('http://www.google.com.br');";
	}
}

.aspx

<asp:GridView ID="gvDados" runat="server" onrowdatabound="gvDados_RowDataBound">
<Columns>
	<asp:BoundField DataField="Nome"/>
	<asp:TemplateField>
		<ItemTemplate>
		<asp:HyperLink ID="linkOne" runat="server">Clique Aqui</asp:HyperLink>
		</ItemTemplate>
	</asp:TemplateField>
</Columns>
</asp:GridView>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado novamente por sua ajuda Oenning

 

Bem, copiei o seu exemplo mudando-o para o VB.NET, pois ainda nao programo em C#.

 

 

Criei um item template, conforme o seu exemplo e o campo nao esta aparecendo em forma de link, logo nao posso clicar nele.

 

Eis o que eu fiz:

 

 

Protected Sub GrdDocumentos_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GrdDocumentos.RowDataBound

 

*********** Codigo no VB.NET *************************************************

If (e.Row.RowType <> DataControlRowType.DataRow) Then

Dim Hlk As HyperLink = e.Row.FindControl("linkOne")

Hlk.NavigateUrl = "java script:window.open('http://www.google.com.br');"

End If

 

************************** HTML ********************************************

<asp:TemplateField HeaderText="Nome" SortExpression="COLABORADOR">

<EditItemTemplate>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

</EditItemTemplate>

 

<ItemTemplate>

 <asp:HyperLink ID="linkOne" runat="server">Clique Aqui</asp:HyperLink>

</ItemTemplate>

 

</asp:TemplateField>

 

End Sub

 

 

Apareceu esse erro que eu ainda nao identifiquei exatamente o que e:

"Object reference not set to an instance of an object"

 

Mas e claro que e o erro em um objeto que nao foi instanciado, so tenho que entender exatamente o que esta acontecendo, com esse seu exemplo para achar o erro.

 

 

 

 

Um Abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite SID_SILVA,

 

Qual o momento em que aparece essa mensagem na hora que você dá um build no projeto ou na hora que clica no grid?

 

Informe a linha tbm...

 

Abraços!

brissolare

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você jogou algum valor na grid? Ou sua grid está vazia. O link vai aparecer para cada linha, e você precisa alimentar a grid.

 

Errado:

If (e.Row.RowType <> DataControlRowType.DataRow) Then
Certo:

If (e.Row.RowType = DataControlRowType.DataRow) Then

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde Amigos

 

Ola brissolare, agora esta aparecendo uma mensagem de erro logo quando eu carrego a pagina.

 

Ola Oenning, sim quando eu abro a pagina eu ja carrego o GridView.

 

Na verdade eu ainda nao testei essa sua sugestao, irei testa-la agora a tarde.

 

 

Obrigado e um Abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.