Bonjour à tous

Je suis confronté à un problème de conception de mon forum.
Le forum a cette hiérarchie (très classique) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
+ head_category (.NET par exemple)
  + category (General .NET par exemple)
    + thread
    + thread
  + category (ASP.NET par exemple)
    + thread
    + thread
+ head_category (Java par exemple)
  + category (General Java par exemple)
    + thread
    + thread
  + category (Web Java par exemple)
    + thread
    + thread
Ce que j'ai fait en BdD, c'est 3 tables :
- head_category
- category (pointe vers head_category)
- thread (pointe vers category)

J'aimerais maintenant afficher une page avec toutes les head_category et les category. Cette page est comme celle-ci : http://www.developpez.net/forums/index.php

Je pense mettre un repeater qui contient un gridView pour chaque head_category comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
+ repeater
  + gridview header (head_category)
    + gridview row (category)
    + gridview row (category)
  + gridview header (head_category)
    + gridview row (category)
    + gridview row (category)
A priori, je remplirais les gridview dans le RowDataBound du repeater. N'est-ce pas tiré par les cheveux ?? N'y a t'il pas plus simple ??
J'ai peur de devoir utiliser un dataset vu le nombre de requêtes en BdD à faire.

Merci bien de votre aide