2012-03-27 4 views
0

私はこの問題の解決方法をウェブ上で検索してきましたが、今まで何も出てこなかった。Datalistに行を追加する

基本的に私はItemTemplateフィールドで構成され、私のデータベースのDataSetによって設定された以下のようなテーブルを持っています。それはユーザーにブランドを示し、クリックして別のページに移動することができます。

「すべてのブランド」という表に別のオプションを追加する必要があります。したがって、私はこれを使ってすべてのブランドを示すページに行くことができます。しかし、私は簡単にこれをDataListに追加することはできません。

<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

「HeaderTemplate」または「FooterTemplate」を追加するだけで、「All Brands」へのリンクをDataListに配置する可能性があります。あなたが探しているものをより明確にするために、あなたの望む結果の簡単な例を追加してください。 – Filburt

+0

これは私が目指しているものです。オプションとして「すべてのタイプ」を示す余分な行を持つ。このイメージの例を見てください。 http://postimage.org/image/h61uxssxf/ – Scrappy

+0

Filburt's spot on。 DataListに物事を保持する場合は、データ間に関連がないため、ヘッダーまたはフッターテンプレートにこのデフォルトのエントリを追加します。代わりに、DataListの外側に追加項目を追加しないでください。あなたは特別なHTML出力を使用しているわけではありません。 – SeanCocteau

答えて

0

次のレイアウトでこれを解決することができます:

<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> 

私のCSSは少し錆びですが、私は、人々はそれがより良いスタイルすることができる方法を指摘させていただきます信頼しています。

関連する問題