Announcement

Collapse
No announcement yet.

Erstellen einer simplen Menüstruktur

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Erstellen einer simplen Menüstruktur

    Hallo zusammen, ich habe folgendes Problem:

    Ich möchte gerne eine simple menüstruktur erstellen. Dabei stehen mir Daten aus einer Datenbank als Menüpunkte zur Verfügung. Ich habe zwei tabellen, aus denen ich die Menüpunkte auslesen möchte. 1. Category; 2. Products.

    Ich möchte nun eine Struktur erstellen, die folgendermaßen aussieht.

    Category 1
    Product
    Product
    Product
    Category 2
    Product
    Product
    .
    .
    .
    .

    Ich habe bisher mit DataList, Gridview und Repeater rumgespielt, bekomme das aber nicht so formatiert, wie ich das gerne möchte. Es sieht dann folgendermaßen aus.

    Category 1
    Product
    Category 1
    Product
    .
    .
    .
    Category 2
    Product
    Category 2
    Product
    .
    .

    Jedes Produkt bekommt praktisch seine Kategorie vorangestellt.

    Hier jetzt ein bisschen Code:

    ViewStoreMenu.ascx
    Code:
    <%@ Control Language="VB" AutoEventWireup="false" CodeFile="ViewStoreMenu.ascx.vb" Inherits="DesktopModules_StoreMenu_ViewStoreMenu" %>
    &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ContentNukeConnectionString2 %>"
        CacheDuration="60" EnableCaching="True">
    </asp:SqlDataSource>
    &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
    <asp:DataList ID="DataList1" runat="server" Style="position: static" Height="1px" Width="278px" OnItemCreated="Item_Created">
        <ItemTemplate>
        <ul>
          <li><%#Eval("CategoryName")%>
            <ul><li><%# Eval ("ModelName")%></li></ul>
          </li>
        </ul>
        </ItemTemplate>
    </asp:DataList>
    ViewStoreMenu.ascx.vb
    Code:
    Imports DotNetNuke
    Imports System.Web.UI
    Imports System.Web
    Imports System.Collections.Generic
    Imports System.Reflection
    Imports DotNetNuke.Security.PortalSecurity
    
    Partial Class DesktopModules_StoreMenu_ViewStoreMenu
        Inherits Entities.Modules.PortalModuleBase
    
    
        Function CreateDataSource() As ICollection
            Dim dt As DataTable = New DataTable()
            Dim dr As DataRow
    
            dt.Columns.Add(New DataColumn("Category", GetType(String)))
            dt.Columns.Add(New DataColumn("Produkt", GetType(String)))
    
            dr = dt.NewRow()
            dr(0) = "<%eval (""Category Name"") %>"
    
        End Function
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim cnt, cnt2
            Dim i As Integer
            Dim j As Integer
            DataList1.DataSourceID = "SqlDataSource1"
            If Request("categoryID") = "" Then
                SqlDataSource1.SelectCommand = "SELECT Distinct CategoryName FROM WWStore_Categories"
            Else
                SqlDataSource1.SelectCommand = "SELECT wwStore_Products.ModelName, wwStore_Categories.CategoryName FROM WWStore_Categories INNER JOIN WWStore_Products ON wwStore_Categories.CategoryID = wwStore_Products.CategoryID WHERE wwStore_Products.CategoryID ='" & Request("categoryID") & "'"
            End If
    
    
        End Sub
    
        Sub Item_Created(ByVal sender As Object, ByVal e As DataListItemEventArgs)
    
            Dim CategoryLabel As Label = CType(e.Item.FindControl("Category"), Label)
            CategoryLabel.Text = "LALA"
    
    
        End Sub
    
    End Class
    Mein Problem ist, dass ich in der Code behind Datei die Datensätze aus der SqlDataSource nicht speichern kann und ich nicht weiß, wie ich das DataList-Control dynamisch im Page_load Event befüllen kann. Soetwas wie DataList1.Row.add gibt es ja leider nicht.

    Das ganze soll nachher als DotNetNuke Modul fingieren. Ist aber für die ASP.Net2 Codierung unerheblich..

    Kann mir jemand helfen ?
Working...
X