• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

guilhermecardoso

ASP.NET C# - Categorias/Subcategorias apartir de uma base de dados

4 mensagens neste tópico

Boas,

Estou a desenvolver um projecto e estou a ver-me com dificuldades.

Até agora, quando desenvolvi aplicações de categorias e subcategorias sempre o fiz para apenas uma subcategoria, logo criava duas tabelas e era bastante fácil de fazer.

Mas desta vez estou a precisar de criar para subcategorias ilimitadas.

A minha tabela tem este formato:

-ID

-nome

-PAI

A PAI, vai indicar se é subcategoria e se for, tem indicado o ID da outra categoria que está "por cima dela".

O meu problema está a ser em apresentar isto seja numa listbox ou num output normal.

Alguém me consegue ajudar a construir um ciclo e as instruções SQL necessárias para que as categorias e subcategorias sejam apresentadas pela sua ordem correctamente?

Algo do género:

-Comida

--Carne

---Grelhada

---Assada

--Peixe

---Grelhado

Aproveito para dizer que a base de dados é .mdf (SQL Server).

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim é possível, o meu problema é mesmo preencher a treeview com informação vinda da base de dados, pois não o faz directamente.

Mas vou procurar algum meio intermédio de preencher uma treeview desta maneira e pode ser que consiga.

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma função recursiva. Dentro de uma função estás sempre a chamar a mesma. Mas antes verificas se há subcategorias dessa categoria, tipo:

Public Function categorias (id_categoria)
//Aqui lista as categorias
while  
//Verifica se existem subcategorias para esta categoria.
  if (select_subcategorias > 0) Then
categorias(id_desta_categoria)
End If
End While
End Function

id_categorias(0)

Não sei se em Asp.net  é assim que se faz. Mas é isto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora