MONTAR UMA PAGINA DE CARDAPIO
BOA NOITE.
ESTOU DESENVOLVENDO UM SISTEMA PRA DELIVERY DE PIZZARIA.
E AGORA ESTOU MONTANDO A PAGINA DE CARDAPIO.
ENTAO, ESTOU TENTANDO FAZER O SEGUINTE:
CADA PRODUTO POSSUI UMA CATEGORIA. ENTAO, VOU LISTAR OS PRODUTOS DA SEGUINTE FORMA:
COLOCA O TITULO COM O NOME DA CATEGORIA, E DEPOIS LISTA TODOS OS PRODUTOS PERTENCENTES A MESMA (IMAGEM, NOME E VALOR).
COMO EU POSSO FAZER TUDO ISSO VIA CODIGO?
ESTOU DESENVOLVENDO UM SISTEMA PRA DELIVERY DE PIZZARIA.
E AGORA ESTOU MONTANDO A PAGINA DE CARDAPIO.
ENTAO, ESTOU TENTANDO FAZER O SEGUINTE:
CADA PRODUTO POSSUI UMA CATEGORIA. ENTAO, VOU LISTAR OS PRODUTOS DA SEGUINTE FORMA:
COLOCA O TITULO COM O NOME DA CATEGORIA, E DEPOIS LISTA TODOS OS PRODUTOS PERTENCENTES A MESMA (IMAGEM, NOME E VALOR).
COMO EU POSSO FAZER TUDO ISSO VIA CODIGO?
Tipo esse aqui?
é tranquilo, utilize REPEATER, um DATALIST, ou até mesmo, um TABLE e seja feliz!
é tranquilo, utilize REPEATER, um DATALIST, ou até mesmo, um TABLE e seja feliz!
EU CONSEGUI FAZER UM USANDO TABLE.
MAIS NÃO FICOU MUITO BOM.
COMO é ESSE ESQUEMA DE REPEATER?
NAO CONHECO.
MAIS NÃO FICOU MUITO BOM.
COMO é ESSE ESQUEMA DE REPEATER?
NAO CONHECO.
Posta o que conseguiu fazer (o FONTE e o PRINT).
CONSEGUI FAZER O REPEATER.
DEI UMA PESQUISADA NO MACORATTI.
VOU MECHER AQUI...QQ COISA TE FALO.
VLW.
DEI UMA PESQUISADA NO MACORATTI.
VOU MECHER AQUI...QQ COISA TE FALO.
VLW.
Se o problema foi resolvido, não esqueça de ENCERRAR o tópico.
SÓ UMA DUVIDA
TO USANDO O REPEATER PRA TRAZER OS DADOS DE TODOS OS PRODUTOS. ATé AI FUNCIONOU CERTINHO.
PORéM, EU QUERO COLOCAR O NOME DA CATEGORIA NO TOPO.
TIPO ASSIM:
CATEGORIA 1
PRODUTOS
CATEGORIA 2
PRODUTOS
CATEGORIA 3
PRODUTOS
TENTEI COLOCAR UM REPEATER DENTRO DO OUTRO. MAS NÃO FUNCIONOU.
COMO EU POSSO FAZER?
TO USANDO O REPEATER PRA TRAZER OS DADOS DE TODOS OS PRODUTOS. ATé AI FUNCIONOU CERTINHO.
PORéM, EU QUERO COLOCAR O NOME DA CATEGORIA NO TOPO.
TIPO ASSIM:
CATEGORIA 1
PRODUTOS
CATEGORIA 2
PRODUTOS
CATEGORIA 3
PRODUTOS
TENTEI COLOCAR UM REPEATER DENTRO DO OUTRO. MAS NÃO FUNCIONOU.
COMO EU POSSO FAZER?
Dá pra fazer o MASTER - DETAIL, desde que você crie um relacionamento entre os DATASETS.
Veja um exemplo no artigo.
http://www.c-sharpcorner.com/UploadFile/DipalChoksi/MasterDetailedDisplay11242005064831AM/MasterDetailedDisplay.aspx
Veja um exemplo no artigo.
http://www.c-sharpcorner.com/UploadFile/DipalChoksi/MasterDetailedDisplay11242005064831AM/MasterDetailedDisplay.aspx
CARA.
SEI QUE é PEDIR D+.
MAS NAO TEM COMO PASSAR SEU MSN Né?
SEI QUE é PEDIR D+.
MAS NAO TEM COMO PASSAR SEU MSN Né?
TESTEI AQUI MAIS NÃO DEU CERTO.
ACHO QUE é PQ EU PROGRAMO EM ASP.NET USANDO VB.
ELE NAO TÃ ACEITANDO O CODIGO:
e.Item.FindControl([Ô]rpt_produto[Ô]).DataSource = (e.Item.DataItem).CreateChieldView [Ô]CategoriaProduto[Ô])
e.Item.FindControl([Ô]rpt_produto[Ô]).DataBind()
SEGUE O CODIGO QUE EU TO USANDO.
HTML:
<asp:Repeater id=[Ô]rpt_categoria[Ô] runat=[Ô]server[Ô] OnItemDataBound=[Ô]Categoria[Ô]>
<ItemTemplate>
<h5><%#DataBinder.Eval(Container.DataItem, [Ô]CAT_ST_NOME[Ô])%></h5>
<%--<div style=[Ô]clear: both;[Ô]> </div>--%>
<table width=[Ô]100%[Ô]>
<asp:Repeater id=[Ô]rpt_produto[Ô] runat=[Ô]server[Ô]>
<ItemTemplate>
<tr>
<td width=[Ô]11%[Ô]>
<a href=[Ô]administracao/cadastro/categoria/index.aspx[Ô]>
<img src=[Ô]administracao/images/produtos/produto1.jpg[Ô] height=[Ô]66[Ô] width=[Ô]93[Ô]>
</a>
</td>
<td>
<a href=[Ô]administracao/cadastro/categoria/index.aspx[Ô]>
<%#DataBinder.Eval(Container.DataItem, [Ô]PRO_ST_NOME[Ô])%>
</a>
</td>
<td width=[Ô]8%[Ô]>
<a href=[Ô]administracao/cadastro/categoria/index.aspx[Ô]>
R$ <%#DataBinder.Eval(Container.DataItem, [Ô]PRO_RE_VENDA[Ô])%>
</a>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</ItemTemplate>
</asp:Repeater>
CODIGO:
Imports System.Data
Imports MySql.Data.MySqlClient
Partial Class cardapio
Inherits System.Web.UI.Page
Dim SQL As String
Dim Dados As New Dados()
Dim TabelaCategoria As DataTable
Dim TabelaProduto As DataTable
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim strConexao As String = [Ô]Server=localhost;Database=PIZZARIA;Uid=root;Pwd=fatec;[Ô]
Dim SQLCategoria As String = [Ô]SELECT DISTINCT CAT.CAT_IN_CODIGO, CAT.CAT_ST_NOME FROM PIZ_CATEGORIA CAT, PIZ_PRODUTO PRO WHERE PRO.CAT_IN_CODIGO = CAT.CAT_IN_CODIGO;[Ô]
Dim SQLProduto As String = [Ô]SELECT PRO.PRO_IN_CODIGO, PRO.PRO_ST_NOME, PRO.PRO_RE_VENDA FROM PIZ_PRODUTO PRO[Ô]
Dim ds As New DataSet
Dim cnn As New MySqlConnection(strConexao)
Dim daCategoria As New MySqlDataAdapter(SQLCategoria, cnn)
daCategoria.Fill(ds, [Ô]PIZ_CATEGORIA[Ô])
Dim daProduto As New MySqlDataAdapter(SQLCategoria, cnn)
daProduto.Fill(ds, [Ô]PIZ_PRODUTO[Ô])
Dim rel As New DataRelation([Ô]CategoriaProduto[Ô], ds.Tables([Ô]PIZ_CATEGORIA[Ô]).Columns([Ô]CAT_IN_CODIGO[Ô]), ds.Tables([Ô]PIZ_PRODUTO[Ô]).Columns([Ô]CAT_IN_CODIGO[Ô]))
ds.Relations.Add(rel)
Me.rpt_categoria.DataSource = ds.Tables([Ô]PIZ_CATEGORIA[Ô])
Me.rpt_categoria.DataBind()
End If
End Sub
Protected Sub Mensagem(ByVal Mensagem As String)
Dim pnl_mensagem As New Panel
Dim img_mensagem As New Image
Dim lbl_mensagem As New Label
img_mensagem.ImageUrl = [Ô]~/administracao/images/botoes/mensagem.png[Ô]
lbl_mensagem.Text = Mensagem
Me.permissao.Controls.Add(pnl_mensagem)
pnl_mensagem.Controls.Add(img_mensagem)
pnl_mensagem.Controls.Add(lbl_mensagem)
pnl_mensagem.GroupingText = [Ô]Cadastro[Ô]
End Sub
Protected Sub Categoria(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs)
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
e.Item.FindControl([Ô]rpt_produto[Ô]).DataSource = (e.Item.DataItem).CreateChieldView [Ô]CategoriaProduto[Ô])
e.Item.FindControl([Ô]rpt_produto[Ô]).DataBind()
End If
End Sub
End Class
ACHO QUE é PQ EU PROGRAMO EM ASP.NET USANDO VB.
ELE NAO TÃ ACEITANDO O CODIGO:
e.Item.FindControl([Ô]rpt_produto[Ô]).DataSource = (e.Item.DataItem).CreateChieldView [Ô]CategoriaProduto[Ô])
e.Item.FindControl([Ô]rpt_produto[Ô]).DataBind()
SEGUE O CODIGO QUE EU TO USANDO.
HTML:
<asp:Repeater id=[Ô]rpt_categoria[Ô] runat=[Ô]server[Ô] OnItemDataBound=[Ô]Categoria[Ô]>
<ItemTemplate>
<h5><%#DataBinder.Eval(Container.DataItem, [Ô]CAT_ST_NOME[Ô])%></h5>
<%--<div style=[Ô]clear: both;[Ô]> </div>--%>
<table width=[Ô]100%[Ô]>
<asp:Repeater id=[Ô]rpt_produto[Ô] runat=[Ô]server[Ô]>
<ItemTemplate>
<tr>
<td width=[Ô]11%[Ô]>
<a href=[Ô]administracao/cadastro/categoria/index.aspx[Ô]>
<img src=[Ô]administracao/images/produtos/produto1.jpg[Ô] height=[Ô]66[Ô] width=[Ô]93[Ô]>
</a>
</td>
<td>
<a href=[Ô]administracao/cadastro/categoria/index.aspx[Ô]>
<%#DataBinder.Eval(Container.DataItem, [Ô]PRO_ST_NOME[Ô])%>
</a>
</td>
<td width=[Ô]8%[Ô]>
<a href=[Ô]administracao/cadastro/categoria/index.aspx[Ô]>
R$ <%#DataBinder.Eval(Container.DataItem, [Ô]PRO_RE_VENDA[Ô])%>
</a>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</ItemTemplate>
</asp:Repeater>
CODIGO:
Imports System.Data
Imports MySql.Data.MySqlClient
Partial Class cardapio
Inherits System.Web.UI.Page
Dim SQL As String
Dim Dados As New Dados()
Dim TabelaCategoria As DataTable
Dim TabelaProduto As DataTable
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim strConexao As String = [Ô]Server=localhost;Database=PIZZARIA;Uid=root;Pwd=fatec;[Ô]
Dim SQLCategoria As String = [Ô]SELECT DISTINCT CAT.CAT_IN_CODIGO, CAT.CAT_ST_NOME FROM PIZ_CATEGORIA CAT, PIZ_PRODUTO PRO WHERE PRO.CAT_IN_CODIGO = CAT.CAT_IN_CODIGO;[Ô]
Dim SQLProduto As String = [Ô]SELECT PRO.PRO_IN_CODIGO, PRO.PRO_ST_NOME, PRO.PRO_RE_VENDA FROM PIZ_PRODUTO PRO[Ô]
Dim ds As New DataSet
Dim cnn As New MySqlConnection(strConexao)
Dim daCategoria As New MySqlDataAdapter(SQLCategoria, cnn)
daCategoria.Fill(ds, [Ô]PIZ_CATEGORIA[Ô])
Dim daProduto As New MySqlDataAdapter(SQLCategoria, cnn)
daProduto.Fill(ds, [Ô]PIZ_PRODUTO[Ô])
Dim rel As New DataRelation([Ô]CategoriaProduto[Ô], ds.Tables([Ô]PIZ_CATEGORIA[Ô]).Columns([Ô]CAT_IN_CODIGO[Ô]), ds.Tables([Ô]PIZ_PRODUTO[Ô]).Columns([Ô]CAT_IN_CODIGO[Ô]))
ds.Relations.Add(rel)
Me.rpt_categoria.DataSource = ds.Tables([Ô]PIZ_CATEGORIA[Ô])
Me.rpt_categoria.DataBind()
End If
End Sub
Protected Sub Mensagem(ByVal Mensagem As String)
Dim pnl_mensagem As New Panel
Dim img_mensagem As New Image
Dim lbl_mensagem As New Label
img_mensagem.ImageUrl = [Ô]~/administracao/images/botoes/mensagem.png[Ô]
lbl_mensagem.Text = Mensagem
Me.permissao.Controls.Add(pnl_mensagem)
pnl_mensagem.Controls.Add(img_mensagem)
pnl_mensagem.Controls.Add(lbl_mensagem)
pnl_mensagem.GroupingText = [Ô]Cadastro[Ô]
End Sub
Protected Sub Categoria(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs)
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
e.Item.FindControl([Ô]rpt_produto[Ô]).DataSource = (e.Item.DataItem).CreateChieldView [Ô]CategoriaProduto[Ô])
e.Item.FindControl([Ô]rpt_produto[Ô]).DataBind()
End If
End Sub
End Class
Existe um método mais fácil, que é usando um TABLE HTML sendo renderizado em RUN-TIME e exibido em um LITERAL.
Tem praticamente o mesmo efeito.
Qualquer dúvida, poste aÃ.
Tem praticamente o mesmo efeito.
Qualquer dúvida, poste aÃ.
Tópico encerrado , respostas não são mais permitidas