Formatting templates in a datalist not working - please help

Hi There

I'm trying to format the display of my header in this datalist and I can't seem to apply header or item style to any templates, what am I doing wrong?


      <asp:DataList id="modify_listings"
   BorderColor="#DEBA84" BorderStyle="None"
   CellSpacing="2" BackColor="#DEBA84"
   CellPadding="3" GridLines="Both" BorderWidth="1px"
                        <AlternatingItemStyle Font-Underline="True" Font-Bold="True" BackColor="Red"></AlternatingItemStyle>
                        <ItemStyle Font-Names="Arial Narrow" Font-Bold="True"></ItemStyle>
                        <HeaderStyle Font-Bold="True" BorderColor="Green"></HeaderStyle>
<HeaderTemplate><tr><td>Modify</td><td>Price</td><td>Manufacturer</td><td>Listed Date</td><td>Listing</td><td>Status</td><td>Sold Items</td></tr></HeaderTemplate>
Who is Participating?
tovvenkiConnect With a Mentor Commented:
try like the following code snippet
<asp:DataList ID="dtlPublishers" Runat="server" ItemStyle-BorderWidth="1">
    <table width="760px" cellspacing="0" cellpadding="0">
      <tr class="tablehead">
        <th align="left" width="25%">Name</th>
        <th align="left" width="25%">City</th>
        <th align="left" width="25%">State</th>
        <th align="left" width="25%">Country</th>
    <table width="760px" cellspacing="0" cellpadding="0">
      <tr class="tablebody">
        <td width="25%"><%# DataBinder.Eval(Container.DataItem, "pub_name") %></td>
        <td width="25%"><%# DataBinder.Eval(Container.DataItem, "city") %></td>
        <td width="25%"><%# DataBinder.Eval(Container.DataItem, "State") %></td>
        <td width="25%"><%# DataBinder.Eval(Container.DataItem, "Country") %></td>

Hope that this helps you

What are you using to write your app? Most visual tools (Web Matrix, Visual Studio etc) have a built in facility for setting the styles on headers/footers etc, which is much easier than coding your own HTML.
crescendoConnect With a Mentor Commented:
Looking at what you've shown, there's no  </asp:DataList> tag. Was that omitted when you posted the question, or is it missing in your code?
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

AerosSagaConnect With a Mentor Commented:
just put the style sheet in the header of the aspx page, and set the css property of the datalist to the name of the stylesheet.


bullroutAuthor Commented:
Hi There,

The  </asp:DataList> is there I must have missed it with the cut & paste. I will try the style sheet idea, thanks.

bullroutAuthor Commented:
Hi There,

I am still having an issue the formatting of my datalist, how can I get the container items to appear as columns? Do I have to use a table row & td tags or are there specific properties that I can apply to the datalist in order to format it like below? I need to use the alternatingitem style in my list and it does not seem to work when I use table tags in the itemtemplates.


<tr><td> col1</td><td> col2</td><td> col3</td><td> col4</td></tr>
                                <asp:HyperLink id="HyperLink3" style="font-size:xxsmall" Text='Modify' NavigateUrl='<%# "edit_listings.aspx?ListingID=" & DataBinder.Eval(Container.DataItem, "ListingID")%>' runat="server" /><br />
                                <%# DataBinder.Eval(Container.DataItem, "listprice","{0:c}")%><br />
                                <%# DataBinder.Eval(Container.DataItem, "manufacturer") %><br />
                                <%# DataBinder.Eval(Container.DataItem, "listeddate","{0:dd-MM-yy}") %><br />
                                <%# DataBinder.Eval(Container.DataItem, "formname") %><br />
                                <%# DataBinder.Eval(Container.DataItem, "status") %><br />
                               <asp:HyperLink id="HyperLink1" style="font-size:xxsmall" Text='Item Sold?' NavigateUrl='<%# "processrequest.aspx?I=1&ListingID=" & DataBinder.Eval(Container.DataItem, "ListingID")%>' runat="server" />
bullroutAuthor Commented:
I ended up using a datagrid, I stupidly assumed that because I had custom paging that a datagrid did not support this method. I am only relatively new to asp .net and I guess the only way you learn is by doing!

Thanks for all the help anyway everyone.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.