Ir para conteúdo

POWERED BY:

Arquivado

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

Ds.suporting

criar um HyperLinkField no gridview pelo code behind

Recommended Posts

Olá Pessoal

Eu impaquei no gridview aqui, preciso da ajuda de vocês.

tenho um sistema asp.net(vb) que vai exibir os cursos gratuitos Ativos da escola, preciso criar uma coluna do tipo HyperLinkField para fazer um link "saiba mails" que passe o id como parâmetro para outra página, tipo assim "cur_gratuito_delathe.aspx?id=id{0}"

Mas não consigo criar esta nova coluna pelo code behind

abaixo o cod que eu estou usando:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
		Dim status_curso As String = "Ativo"
		Dim cnn As MySqlConnection
		Dim cmd As MySqlCommand
		Dim strmysql As String = "select id, data_curso, nome_curso, unidade from cursos_gratuitos where status=@status"
		cnn = New MySqlConnection("server=********; user id=*****; password=******; database=******")
		cmd = New MySqlCommand(strmysql, cnn)
		cmd.Parameters.Add(New MySqlParameter("@status", status_curso))
		cnn.Open()
		Dim da As New MySqlDataAdapter(cmd)
		Dim ds As New DataSet()
		da.Fill(ds, "status")
		grd_cursos.DataSource = ds
		grd_cursos.DataBind()
		cnn.Close()
		cnn = Nothing
		cmd = Nothing

		
	End Sub

Com access no site antigo da escola eu consegio fazer mas não pelo code behind.

 

Preciso da ajuda de vocês

Compartilhar este post


Link para o post
Compartilhar em outros sites

Protected Sub grd_cursos_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grd_cursos.RowDataBound
		If e.Row.RowType = DataControlRowType.DataRow Then
	 
	   CType(e.Row.FindControl("lnkExcluiItem"), hyperlink).NavigateURL= string.format("cur_gratuito_delathe.aspx?id=id{0}", CType(e.Row.DataItem, DataRowView)("id").ToString)

		End If
	End Sub

 

Vê se ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

If e.Row.RowType = DataControlRowType.DataRow Then

 

CType(e.Row.FindControl("lnkExcluiItem"), hyperlink).NavigateURL= string.format("cur_gratuito_delathe.aspx?id=id{0}", CType(e.Row.DataItem, DataRowView)("id").ToString)

 

End If

End Sub

 

 

Vê se ajuda

 

Cara eu coloquei este cod mas deu esse erro aqui:

 

Object reference not set to an instance of an object.

 

não sei como resolver!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só server pelo code behind? Pois existem recursos para criar este campo ser ser em tempo de execução.

De uma olhada nesse artigo: http://www.microsoft.com/brasil/msdn/Tecno...ViewASPNET.mspx

 

Abraços...

 

Eu já uso bastante o gridview com access, "tranquilo", mas o problema é que agora estou usando o MySQL e não sei criar o datasource em tempo de execução para mysql, só consegui pelo code behind, e preciso inserir uma coluna link que passa como parâmetro o id em cada linha pra ficar mais fácil

vou mostrar como está o aspx:

<asp:GridView ID="grd_cursos" runat="server" CellPadding="4" 
			ForeColor="#333333" GridLines="None" Height="27px" Width="701px">
			<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
			<RowStyle BackColor="#EFF3FB" />
			<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
			<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
			<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
			<EditRowStyle BackColor="#2461BF" />
			<AlternatingRowStyle BackColor="White" />
		</asp:GridView>

E o .VB

 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
		Dim status_curso As String = "Ativo"
		Dim cnn As MySqlConnection
		Dim cmd As MySqlCommand
		Dim strmysql As String = "select id, data_curso, nome_curso, unidade from cursos_gratuitos where status=@status"
		cnn = New MySqlConnection("server=****; user id=***; password=***; database=***")
		cmd = New MySqlCommand(strmysql, cnn)
		cmd.Parameters.Add(New MySqlParameter("@status", status_curso))
		cnn.Open()
		Dim da As New MySqlDataAdapter(cmd)
		Dim ds As New DataSet()
		da.Fill(ds, "status")
		grd_cursos.DataSource = ds
		grd_cursos.DataBind()
		cnn.Close()
		cnn = Nothing
		cmd = Nothing

		
	End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer fazer com o DataSource? A própria sun disponibiliza no site deles.

Nesta página você pode fazer o download e quando instalar, ele vai criar uma opção para MySQL ali no visual studio.

 

De qualquer forma, a sugestão do Daniel LM Costa está correta. O erro que apareceu para você é porquê você não incluiu um objeto HyperLink na tela. Você vai ter que criar uma coluna do tipo ItemTemplate e jogar um HyperLink la dentro, ai você vai poder usar o exemplo do Daniel.

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.