Ir para conteúdo

POWERED BY:

Arquivado

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

rodrigoalves96

Carregar evento através de um link

Recommended Posts

Amigos,

 

Eu trenho um databound de uma dridview e gostaria de criar um "link" que chamasse uma função após isso.

 

Exemplo:

 

Protected Sub gvEtapa_rowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvEtapa.RowDataBound
		If e.Row.RowType = ListItemType.Item Or e.Row.RowType = ListItemType.AlternatingItem Then
			Dim retorno As String = ""
			e.Row.Style("cursor") = "hand" ' Cursor
			'muda de cor a celula
			e.Row.Attributes.Add("OnMouseOver", "this.style.backgroundColor='#D7D8B8';")
			e.Row.Attributes.Add("OnMouseOut", "this.style.backgroundColor='';")

			If gvEtapa.Columns.Count > 1 Or gvEtapa.AutoGenerateColumns Then
				e.Row.Attributes.Add("onClick", "java script:txtCodCons.value=" & e.Row.Cells(0).Text & ";" & Page.GetPostBackEventReference(Carregadetalhes(1)))
				'& ClientScript.GetPostBackEventReference(, ""))
				e.Row.Cells(0).Text = "<a href='#'>" & e.Row.Cells(0).Text & "</a> "

			End If
		End If
	End Sub


 Private Sub Carregadetalhes(ByVal idDetalhe As Long)

		Dim rows() As DataRow
		Dim ds As New DataSet
		Dim dt As New DataTable("Tabela")
		dt = dsCabecalho.Tables(1).Clone
		ds.Tables.Add(dt)
		Try
			rows = dsCabecalho.Tables(1).Select("idCDVENAtt = " & idDetalhe.ToString)
			For Each r As DataRow In rows
				ds.Tables(0).ImportRow®
			Next
			gvEtapaItem.DataSource = ds
			gvEtapaItem.DataBind()

		Catch ex As Exception
			Mensagem(ex.Message)
		End Try
	End Sub

O QUE EU PRECISO É CARREGAR A FUNÇÃO Carregadetalhes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications

 

Este link que você quer criar é dentro da Grid? Se for um Hyperlink não dará certo, tem que ser algum button para entrar em seu evento, ae você pode apresentar ele na tela como hyperlink.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui eu consigo criar um link e dar ação a ele.sem a necessidade de uso de um botão.

 

e.Row.Cells(0).Text = "<a href='#'>" & e.Row.Cells(0).Text & "</a> "

 

Não tem como eu criar um link e chamar uma função que chame a sub que eu quero(neste caso a Carregadetalhes)???

Compartilhar este post


Link para o post
Compartilhar em outros sites

É que isso é como inventar a roda.

O ideal seria você colocar uma Column Select do tipo CommandField e na propriedade ButtonType defina como Link.

Isto é o ideal, ae basta trabalhar com o evento nativo da Grid.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui é como fica seu HTML:

<asp:GridView ID="gv" runat="server" OnSelectedIndexChanged="gv_SelectedIndexChanged" AutoGenerateColumns="False" >
   <Columns>
       <asp:BoundField DataField="ID" HeaderText="Código" />
       <asp:BoundField DataField="DESCRICAO" HeaderText="Descrição" />
       <asp:CommandField ButtonType="Link" HeaderText="Editar" SelectText="Clique Aqui" ShowSelectButton="True" />
   </Columns>
</asp:GridView>

 

E trabalhe no evento:

protected void gv_SelectedIndexChanged(object sender, EventArgs e) {

	}

Abraços...

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.