2012-03-27 17 views
0

Ich habe im Internet nach einer Lösung für dieses Problem gesucht, bin aber bisher noch auf nichts gestoßen.Zeile zu Datalist hinzufügen

Grundsätzlich habe ich eine Tabelle wie unten gezeigt, die ich aus ItemTemplate Felder bestand und von einem DataSet aus meiner Datenbank bevölkert ist. Es zeigt dem Benutzer Marken an, auf die er dann klicken und auf eine andere Seite gehen kann.

Ich muss eine weitere Option zu der Tabelle "Alle Marken" hinzufügen. Damit kann ich dann auf eine Seite mit allen Marken gehen. Allerdings kann ich das nicht einfach in die DataList aufnehmen.

<asp:DataList id="TypesList" runat="server" Visible="true" RepeatColumns="3" Width="100%" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Center"> 
    <ItemTemplate> 
    <div style="position:relative;vertical-align:top;"> 
     <table border="0" cellpadding="0" cellspacing="0" width="100%"> 
     <tr> 
      <td align="center" style="height:170px;vertical-align:top;text-align:center;" valign="top"> 
      <asp:Label ID="lblID" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem,"batteryTypeID")%>'></asp:Label> 

      <a href='/<%#DataBinder.Eval(Container.DataItem,"catid")%>/<%#DataBinder.Eval(Container.DataItem,"catname")%>/<%#DataBinder.Eval(Container.DataItem,"brandid")%>/<%#DataBinder.Eval(Container.DataItem,"brand_name")%>/<%#DataBinder.Eval(Container.DataItem,"batteryTypeID")%>/<%#DataBinder.Eval(Container.DataItem,"typeName")%>' target='_self'> 
       <asp:Image ID="imgProd" runat="server" ImageUrl='images/none.jpg' /> 
      </a> 
      </td> 
     </tr> 
     <tr> 
      <td class="productdesc" style="text-align:center;vertical-align:top;"> 
      <span style="color:#000;font-weight:bold;font-size:120%;"> 
       <%#DataBinder.Eval(Container.DataItem, "typeName").ToString%> 
      </span> 
      </td> 
     </tr> 
     </table> 
    </div> 
    </ItemTemplate> 
</asp:DataList> 
+0

Es ist nicht wirklich klar aus Ihrer Frage - könnte es sein, dass das Hinzufügen einer 'HeaderTemplate' oder' FooterTemplate' die Möglichkeit gibt, einen Link zu "Alle Marken" zu Ihrer DataList zu platzieren. Fügen Sie vielleicht ein einfaches Beispiel Ihres gewünschten Ergebnisses hinzu, um klarer zu machen, wonach Sie suchen. – Filburt

+0

Das ist, was ich anstrebe. Eine zusätzliche Zeile mit "Alle Typen" als Option. Sehen Sie sich dieses Bildbeispiel an. http://postimage.org/image/h61uxssxf/ – Scrappy

+0

Filburt's Spot auf. Fügen Sie der Kopf- oder Fußzeilenvorlage diesen Standardeintrag hinzu, da keine Zuordnung zwischen den Daten besteht, wenn Sie die Daten in der DataList beibehalten möchten. Alternativ, warum nicht den zusätzlichen Eintrag außerhalb der DataList hinzufügen, verwenden Sie nicht insbesondere superstrukturierte HTML-Ausgabe dort ... – SeanCocteau

Antwort

0

sollten Sie in der Lage sein, dies mit dem folgende Layout zu lösen:

<asp:DataList id="TypesList" runat="server" Visible="true" RepeatColumns="3" Width="100%" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Center"> 

    <HeaderTemplate> 
    <div style="width:170px; float:left;"> 
     <div>All Brands Pic and Link</div> 
     <div> 
     <span style="color:#000;font-weight:bold;font-size:120%;">All Brands</span> 
     </div> 
    </div> 
    </HeaderTemplate> 

    <ItemTemplate> 
    <div style="width:170px; float:left;"> 
     <div> 
     <asp:Label ID="lblID" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem,"batteryTypeID")%>'></asp:Label> 
     <a href='/<%#DataBinder.Eval(Container.DataItem,"catid")%>/<%#DataBinder.Eval(Container.DataItem,"catname")%>/<%#DataBinder.Eval(Container.DataItem,"brandid")%>/<%#DataBinder.Eval(Container.DataItem,"brand_name")%>/<%#DataBinder.Eval(Container.DataItem,"batteryTypeID")%>/<%#DataBinder.Eval(Container.DataItem,"typeName")%>' target='_self'> 
      <asp:Image ID="imgProd" runat="server" ImageUrl='images/none.jpg' /> 
     </a> 
     </div> 
     <div> 
     <span style="color:#000;font-weight:bold;font-size:120%;"> 
      <%#DataBinder.Eval(Container.DataItem, "typeName").ToString%> 
     </span> 
     </div> 
    </div> 
    </ItemTemplate> 

</asp:DataList> 

Meine CSS ist ein wenig rostig, aber ich hoffe, die Menschen glücklich sein werden, darauf hinzuweisen, wie man es besser gestaltet werden könnte.