2010-07-08 7 views
0

Le modèle de données dynamiques ASP.NET par défaut utilise par défaut GridView pour afficher le menu se répétant verticalement. Cela ne semble pas particulièrement bien. Je me demande s'il y a (a) un moyen d'obtenir la répétition horizontale de la grille ou (b) d'utiliser un autre contrôle qui permet la répétition horizontale.ASP.NET Répéter le menu principal Données dynamiques Horizontalement?

Répondre

1

Ce processus est simple. Dans notre fichier code-behind nous devons câbler notre connexion dynamique de données comme ceci:

Menu1.DataSource = visibleTables 
    Menu1.DataBind() 

Ensuite, nous créons un DataList comme ceci:

<asp:DataList ID="Menu1" runat="server" 
     CellPadding="3" GridLines="Vertical" 
     HorizontalAlign="Center" CssClass="DDGridView" RepeatDirection="Horizontal" 
     ItemStyle-CssClass="td" HeaderStyle-CssClass="th" > 
<ItemTemplate> 
    <asp:DynamicHyperLink ID="HyperLink1" runat="server"><%# Eval("DisplayName")%></asp:DynamicHyperLink> 
</ItemTemplate> 
</asp:DataList> 

Vous pouvez voir que j'ai utilisé (temporairement) les classes CSS de la grille par défaut pour fournir des éléments de mise en page/affichage uniformes.

1

Un DataList peut être utilisé :) Vous définissez un ItemTemplate pour spécifier la façon dont les éléments doivent être affichés et réglez le RepeatDirection à l'horizontale, se lient à votre source de données dynamique et vous fait: D

De plus, vous Vous pouvez spécifier le nombre de colonnes à répéter via l'attribut RepeatColumns.

Cette page (faites défiler vers la fin) a obtenu quelques exemples sur la façon d'utiliser un DataList

http://msdn.microsoft.com/en-us/library/7efxhktc.aspx

+0

Que je comprends. Pouvez-vous me montrer à quoi cela pourrait ressembler? En ce moment j'ajoute un datalist et rien n'apparaît. – davemackey

+0

Im Désolé. Je pense que je dois vous avoir mal compris. J'ai expliqué sur l'utilisation d'une DataList lorsque les données sont dans un DataSet ou un DataTable. Mais le gabarit Dynamic Data est un peu trop compliqué :( –

+0

Merci, vous m'avez indiqué la bonne direction, j'ai esquissé la solution que j'ai trouvée ci-dessous. – davemackey