Err when creating link to each line of grid??

  • Thread starter Vilmar Brazão de Oliveira
  • Start date
V

Vilmar Brazão de Oliveira

Hi,
I am having err when creating link to each line of grid at LINE 38. My
objective in asp.net is: each line can be linked to page with your
parameters as VB 5/6, Delphi 5/6/7, etc....
See the code bellow:
Thanks!
---------------------------------------
Vilmar Brazão de Oliveira
HI-TEC Informática

<%@ Page Language="vb" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<script language="VB" runat="server">
Sub Page_Load(sender as Object, e as EventArgs)
Dim connString as String 'Create a connection string
connString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" &
Server.MapPath("Northwind.mdb")
'C:\Arquivos de programas\Microsoft Office\Office\Samples\Northwind.mdb

'Open a connection
Dim objConnection as OleDbConnection
objConnection = New OleDbConnection(connString)
objConnection.Open()

'Specify the SQL string
Dim strSQL as String = "SELECT * FROM Clientes"

'Create a command object
Dim objCommand as OleDbCommand
objCommand = New OleDbCommand(strSQL, objConnection)

'Get a datareader
Dim objDataReader as OleDbDataReader
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)

'Do the DataBinding
dgResults.DataSource = objDataReader
dgResults.DataBind()

'Close the datareader/db connection
objDataReader.Close()

'Montagem de link.
Dim I as Double
Dim Registro as String

For I = 0 To Me.dgResults.Items.Count - 1
Dim NomeLink As LinkButton =
CType(datagrid.Items(i).FindControl("NomeLink"), LinkButton) 'LINHA 38
Registro = Tabela.Rows(I)
lnkEdita.CommandArgument = "Param=" & valor
Next
End Sub

Sub myItems_ItemDataBound(ByVal Sender As Object, ByVal e As
DataGridItemEventArgs)
dgResults.Attributes.Add("onClick","JavaScript:alert('texto');")

If e.Item.ItemType = ListItemType.Item Then
e.Item.Attributes.Add("onmouseover",
"this.style.backgroundColor='#EEEEEE'")
e.Item.Attributes.Add("onmouseout",
"this.style.backgroundColor='#F7EFC6'")
ElseIf e.Item.ItemType = ListItemType.AlternatingItem Then
e.Item.Attributes.Add("onmouseover",
"this.style.backgroundColor='#EEEEEE'")
e.Item.Attributes.Add("onmouseout",
"this.style.backgroundColor='#F7EFC6'")
End If
End Sub

Protected Sub EventoNoClick(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.CommandEventArgs)
Response.Redirect("SeuAspx.aspx?" & e.CommandArgument)
End Sub

'FFFFEF »»um tom de amarelo bem claro.
'F7EFC6 »»um tom de amarelo meio ocre.
</script>

<html>

<head>
<title>Exemplo consulta com ASP.Net - 02</title>
</head>

<body text="#000000" bgcolor="#ffffff">
<h1>Exemplo consulta com ASP.Net - 01</h1>

<asp:DataGrid
id="dgResults" runat="server" Width="700" BackColor="#F7EFC6"
BorderColor="black"
ShowFooter="false" CellPadding="3" CellSpacing="0" Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#ffaad" OnItemDataBound="myItems_ItemDataBound">
</asp:DataGrid>

<asp:TemplateColumn HeaderText="Assunto">
<ItemStyle width="33%"></ItemStyle>
<ItemTemplate>
<asp:LinkButton id="NomeLink" runat="server" OnCommand="EventoNoClick"
Font-Size="9pt"
Text='<%# DataBinder.Eval(DataSet, "Tables[Tabela].DefaultView.[0].Campo")
%>'>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>

</body>
</html>
 
V

Vilmar Brazão de Oliveira

I found a solution:
Vilmar Brazão de Oliveira
-----------------------------

<%@ Page Language="vb" Debug="true" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<script language="VB" runat="server">
Sub Page_Load(sender as Object, E As EventArgs)
Dim connString as String 'Create a connection string
connString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" &
Server.MapPath("Northwind.mdb")
'C:\Arquivos de programas\Microsoft Office\Office\Samples\Northwind.mdb

'Open a connection
Dim objConnection as OleDbConnection
objConnection = New OleDbConnection(connString)
objConnection.Open()

'Specify the SQL string
Dim strSQL as String = "SELECT * FROM Clientes"

'Create a command object
Dim objCommand as OleDbCommand
objCommand = New OleDbCommand(strSQL, objConnection)

'Get a datareader
Dim objDataReader as OleDbDataReader
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)

'Do the DataBinding
dtgResultados.DataSource = objDataReader
dtgResultados.DataBind()

'Close the datareader/db connection
objDataReader.Close()
End Sub

Sub myItems_ItemDataBound(ByVal Sender As Object, ByVal E As
DataGridItemEventArgs)
' dtgResultados.Attributes.Add("onClick","JavaScript:alert('texto');")

'FFFFEF »»um tom de amarelo bem claro.
'F7EFC6 »»um tom de amarelo meio ocre.
If e.Item.ItemType = ListItemType.Item Then
e.Item.Attributes.Add("onmouseover", "this.style.backgroundColor='#EEEEEE'")
e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor='#F7EFC6'")
ElseIf e.Item.ItemType = ListItemType.AlternatingItem Then
e.Item.Attributes.Add("onmouseover", "this.style.backgroundColor='#EEEEEE'")
e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor='#F7EFC6'")
End If
End Sub

Sub Enviar(ByVal Sender As Object, ByVal E As CommandEventArgs)
Dim strNomeDaEmpresa As String = E.CommandArgument
Response.Redirect("teste_passagem_parametro_por_datagrid.aspx?Parametro=" &
strNomeDaEmpresa)
End Sub
</script>

<html>

<head>
<title>Exemplo consulta com ASP.Net - 03 - Linhas Clic&aacute;veis com
LinkButton</title>
</head>

<body text="#000000" bgcolor="#ffffff">

<h1>Exemplo consulta com ASP.Net - 03 - Linhas Clicáveis com LinkButton</h1>
<form id="frmParametros" enctype="application/x-www-form-urlencoded"
runat="server">
<asp:DataGrid id="dtgResultados" runat="server" AutoGenerateColumns="False"
Width="100%" BackColor="#F7EFC6" BorderColor="black" ShowFooter="false"
CellPadding="3" CellSpacing="0"
Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#ffaad"
OnItemDataBound="myItems_ItemDataBound">
<Columns>
<asp:BoundColumn DataField="CódigoDoCliente" HeaderText="Cód. Cliente"
HeaderStyle-Width="75"></asp:BoundColumn>
<asp:BoundColumn DataField="NomeDaEmpresa" HeaderText="Nome
Empresa"></asp:BoundColumn>
<asp:BoundColumn DataField="NomeDoContato" HeaderText="Nome
Contato"></asp:BoundColumn>
<asp:BoundColumn DataField="CargoDoContato" HeaderText="Cargo
Contato"></asp:BoundColumn>
<asp:TemplateColumn HeaderStyle-Width="20px" HeaderText="Editar">
<ItemTemplate>
<asp:linkbutton id="lnkEditar" text="Botão de link" CommandArgument='<%#
DataBinder.Eval(Container.DataItem, "NomeDaEmpresa") %>' OnCommand="Enviar"
Runat="server"></asp:linkbutton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>

</body>
</html>
Vilmar Brazão de Oliveira said:
Hi,
I am having err when creating link to each line of grid at LINE 38. My
objective in asp.net is: each line can be linked to page with your
parameters as VB 5/6, Delphi 5/6/7, etc....
See the code bellow:
Thanks!
---------------------------------------
Vilmar Brazão de Oliveira
HI-TEC Informática

<%@ Page Language="vb" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<script language="VB" runat="server">
Sub Page_Load(sender as Object, e as EventArgs)
Dim connString as String 'Create a connection string
connString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" &
Server.MapPath("Northwind.mdb")
'C:\Arquivos de programas\Microsoft Office\Office\Samples\Northwind.mdb

'Open a connection
Dim objConnection as OleDbConnection
objConnection = New OleDbConnection(connString)
objConnection.Open()

'Specify the SQL string
Dim strSQL as String = "SELECT * FROM Clientes"

'Create a command object
Dim objCommand as OleDbCommand
objCommand = New OleDbCommand(strSQL, objConnection)

'Get a datareader
Dim objDataReader as OleDbDataReader
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)

'Do the DataBinding
dgResults.DataSource = objDataReader
dgResults.DataBind()

'Close the datareader/db connection
objDataReader.Close()

'Montagem de link.
Dim I as Double
Dim Registro as String

For I = 0 To Me.dgResults.Items.Count - 1
Dim NomeLink As LinkButton =
CType(datagrid.Items(i).FindControl("NomeLink"), LinkButton) 'LINHA 38
Registro = Tabela.Rows(I)
lnkEdita.CommandArgument = "Param=" & valor
Next
End Sub

Sub myItems_ItemDataBound(ByVal Sender As Object, ByVal e As
DataGridItemEventArgs)
dgResults.Attributes.Add("onClick","JavaScript:alert('texto');")

If e.Item.ItemType = ListItemType.Item Then
e.Item.Attributes.Add("onmouseover",
"this.style.backgroundColor='#EEEEEE'")
e.Item.Attributes.Add("onmouseout",
"this.style.backgroundColor='#F7EFC6'")
ElseIf e.Item.ItemType = ListItemType.AlternatingItem Then
e.Item.Attributes.Add("onmouseover",
"this.style.backgroundColor='#EEEEEE'")
e.Item.Attributes.Add("onmouseout",
"this.style.backgroundColor='#F7EFC6'")
End If
End Sub

Protected Sub EventoNoClick(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.CommandEventArgs)
Response.Redirect("SeuAspx.aspx?" & e.CommandArgument)
End Sub

'FFFFEF »»um tom de amarelo bem claro.
'F7EFC6 »»um tom de amarelo meio ocre.
</script>

<html>

<head>
<title>Exemplo consulta com ASP.Net - 02</title>
</head>

<body text="#000000" bgcolor="#ffffff">
<h1>Exemplo consulta com ASP.Net - 01</h1>

<asp:DataGrid
id="dgResults" runat="server" Width="700" BackColor="#F7EFC6"
BorderColor="black"
ShowFooter="false" CellPadding="3" CellSpacing="0" Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#ffaad" OnItemDataBound="myItems_ItemDataBound">
</asp:DataGrid>

<asp:TemplateColumn HeaderText="Assunto">
<ItemStyle width="33%"></ItemStyle>
<ItemTemplate>
<asp:LinkButton id="NomeLink" runat="server" OnCommand="EventoNoClick"
Font-Size="9pt"
Text='<%# DataBinder.Eval(DataSet, "Tables[Tabela].DefaultView.[0].Campo")
%>'>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>

</body>
</html>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,007
Latest member
obedient dusk

Latest Threads

Top