Ir para conteúdo

POWERED BY:

Arquivado

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

thiagobillieri

DataGrid, TemplateColumn e LinkButton

Recommended Posts

Eu preciso mostrar um Pop-up quando eu clicar em algum item do meu DataGrid, para isso eu fiz uma TemplateColumn. Tentei fazer com HyperLinkColumn, mas só é possive enviar um parâmetro para o pop-up com esse tipo de coluna.

O problema é que com a TemplateColumn quando eu clico no linkbutton dentro dela, a minha pagina da refresh e acabam sumindo todos os dados dela.

Outro poblema é o envio de parametros, se no meu sql eu seleciono 5 campos, mas mostro apenas um no datagrid, como eu faço para pegar os outros capos para enviá-los como parametro para a pop-up?

 

Ou então se alguem souber outro jeito mais simples de chamar um popup para cada item do meu datagrid eu aceito :)

 

função javascript para chamar pop-up

<script language="javascript"> 	function Visualizar(id)	{ 		window.open('formPop.aspx?ID='+ id, 'formPop', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=550,height=250,left=100,top=50'); 	} </script>

chamada que cria os linkbutton

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles MyDataGrid.ItemDataBound		If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then			Dim lkb01 As LinkButton = DirectCast(e.Item.FindControl("lkb01"), LinkButton)			lkb01.Text = e.Item.DataItem("Col01")			lkb01.Attributes.Add("OnClick", "Visualizar(" & e.Item.DataItem("Col01") & ");")		End If	End Sub

uma TemplateColumn e uma HyperLinkColumn

<asp:TemplateColumn>	<ItemTemplate>		<asp:LinkButton id="lkb01" runat="server">LinkButton</asp:LinkButton>	</ItemTemplate>	<HeaderStyle HorizontalAlign="Center"></HeaderStyle>	<ItemStyle HorizontalAlign="Center" Width="6%"></ItemStyle></asp:TemplateColumn><asp:HyperLinkColumn DataNavigateUrlField="Col02" DataNavigateUrlFormatString="java script:Visualizar('{0}')"	DataTextField="Col02">	<HeaderStyle HorizontalAlign="Center"></HeaderStyle>	<ItemStyle HorizontalAlign="Center" Width="6%"></ItemStyle></asp:HyperLinkColumn>

Obrigado

 

--

Thiago Billieri

Compartilhar este post


Link para o post
Compartilhar em outros sites

1° - você nao necessita exclusivamente de um ItemTemplate e nem de um LinkButton.2° - a sua chamada deveria estar assim: "java script:Visualizar('" & e.Item.Cells(0) & "');"você pode enviar mais de um parâmetro desde que todos os dados que você precise para isso estejam na mesma linha. Pra isso basta colocar depois de cada parametro a virgula e o parametro seguinte.. mas nao esqueça de começar o paramentro com ' (plickes) e terminar tb com '...quanto ao link você pode simplesmente colocar na linha inteira assim:e.Item.Attributes.Add("onclick","chamadadolink")

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.