MONTAR UMA PAGINA DE CARDAPIO

GUSTAVOCANALLI 18/03/2011 23:45:59
#368504
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?
TECLA 19/03/2011 17:49:18
#368575
Resposta escolhida
Tipo esse aqui?
é tranquilo, utilize REPEATER, um DATALIST, ou até mesmo, um TABLE e seja feliz!
GUSTAVOCANALLI 19/03/2011 18:15:04
#368581
EU CONSEGUI FAZER UM USANDO TABLE.
MAIS NÃO FICOU MUITO BOM.

COMO é ESSE ESQUEMA DE REPEATER?
NAO CONHECO.
TECLA 19/03/2011 19:06:05
#368586
Posta o que conseguiu fazer (o FONTE e o PRINT).
GUSTAVOCANALLI 19/03/2011 19:38:23
#368590
CONSEGUI FAZER O REPEATER.

DEI UMA PESQUISADA NO MACORATTI.

VOU MECHER AQUI...QQ COISA TE FALO.

VLW.
TECLA 19/03/2011 19:41:56
#368592
Se o problema foi resolvido, não esqueça de ENCERRAR o tópico.
GUSTAVOCANALLI 19/03/2011 20:18:07
#368593
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?
TECLA 20/03/2011 11:29:32
#368606
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
GUSTAVOCANALLI 20/03/2011 16:05:27
#368627
CARA.
SEI QUE é PEDIR D+.

MAS NAO TEM COMO PASSAR SEU MSN Né?
GUSTAVOCANALLI 20/03/2011 20:01:07
#368638
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
TECLA 24/03/2011 21:12:12
#369091
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í.
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas