<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>CSS Friendly Control Adapters</title><link>http://forums.asp.net/1018.aspx</link><description>Discuss the CSS Friendly Control Adapters sample project, ask questions, post bugs, etc</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: vb version via conversion tools</title><link>http://forums.asp.net/thread/1388233.aspx</link><pubDate>Sun, 03 Sep 2006 14:38:48 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1388233</guid><dc:creator>angel eyes</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1388233.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1018&amp;PostID=1388233</wfw:commentRss><description>&lt;p&gt;Did you mean line 115?&lt;/p&gt;&lt;p&gt;That one already is like that. I don&amp;#39;t understand it, &lt;strong&gt;Webdev511.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Re: vb version via conversion tools</title><link>http://forums.asp.net/thread/1320011.aspx</link><pubDate>Tue, 20 Jun 2006 20:50:27 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1320011</guid><dc:creator>Webdev511</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1320011.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1018&amp;PostID=1320011</wfw:commentRss><description>&lt;p&gt;Line 109 should be...&lt;/p&gt;&lt;font color=#0000ff size=2&gt;
&lt;p&gt;Dim&lt;/p&gt;&lt;/font&gt;&lt;font size=2&gt; LiteralControl = container.Controls(0)&lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;I ONLY used it on the Wizard, so I'm going to bet that it probably won't work on a real datalist.&lt;/font&gt;&lt;/p&gt;</description></item><item><title>vb version via conversion tools</title><link>http://forums.asp.net/thread/1319996.aspx</link><pubDate>Tue, 20 Jun 2006 20:36:19 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1319996</guid><dc:creator>Webdev511</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1319996.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1018&amp;PostID=1319996</wfw:commentRss><description>I tripped over the datalistadapter problem when instering a wizard, found the c# fix, used online c# to vb.net converter, and fixed up the parts that the converters just couldn't get right.

Wizard control now works fine, but I haven't used it outside a test enviroment.

&amp;nbsp;&lt;pre class=coloredcode&gt;&lt;span class=kwd&gt;Imports&lt;/span&gt; System
&lt;span class=kwd&gt;Imports&lt;/span&gt; System.Data
&lt;span class=kwd&gt;Imports&lt;/span&gt; System.Collections
&lt;span class=kwd&gt;Imports&lt;/span&gt; System.Configuration
&lt;span class=kwd&gt;Imports&lt;/span&gt; System.Web
&lt;span class=kwd&gt;Imports&lt;/span&gt; System.Web.Security
&lt;span class=kwd&gt;Imports&lt;/span&gt; System.Web.UI
&lt;span class=kwd&gt;Imports&lt;/span&gt; System.Web.UI.WebControls
&lt;span class=kwd&gt;Imports&lt;/span&gt; System.Web.UI.WebControls.WebParts
&lt;span class=kwd&gt;Imports&lt;/span&gt; System.Web.UI.HtmlControls


&lt;span class=kwd&gt;Namespace&lt;/span&gt; CSSFriendly
    _
    &lt;span class=kwd&gt;Public Class&lt;/span&gt; DataListAdapter
        &lt;span class=kwd&gt;Inherits&lt;/span&gt; System.Web.UI.WebControls.Adapters.WebControlAdapter

        &lt;span class=kwd&gt;Private ReadOnly Property&lt;/span&gt; RepeatColumns() &lt;span class=kwd&gt;As Integer
            Get
                Dim&lt;/span&gt; dataList &lt;span class=kwd&gt;As&lt;/span&gt; DataList = &lt;span class=kwd&gt;Nothing
                Try&lt;/span&gt;
                    dataList = &lt;span class=kwd&gt;CType&lt;/span&gt;(Control, DataList)
                &lt;span class=kwd&gt;Catch&lt;/span&gt; ex &lt;span class=kwd&gt;As&lt;/span&gt; Exception
                    &lt;span class=cmt&gt;'
&lt;/span&gt;
                &lt;span class=kwd&gt;End Try
                Dim&lt;/span&gt; nRet &lt;span class=kwd&gt;As Integer&lt;/span&gt; = 1
                &lt;span class=kwd&gt;If Not&lt;/span&gt; (dataList &lt;span class=kwd&gt;Is Nothing&lt;/span&gt;) &lt;span class=kwd&gt;Then
                    If&lt;/span&gt; dataList.RepeatColumns = 0 &lt;span class=kwd&gt;Then
                        If&lt;/span&gt; dataList.RepeatDirection = RepeatDirection.Horizontal &lt;span class=kwd&gt;Then&lt;/span&gt;
                            nRet = dataList.Items.Count
                        &lt;span class=kwd&gt;End If
                    Else&lt;/span&gt;
                        nRet = dataList.RepeatColumns
                    &lt;span class=kwd&gt;End If
                End If
                Return&lt;/span&gt; nRet
            &lt;span class=kwd&gt;End Get
        End Property


        Public Sub New&lt;/span&gt;()
        &lt;span class=kwd&gt;End Sub&lt;/span&gt; &lt;span class=cmt&gt;'New


        '/ ///////////////////////////////////////////////////////////////////////////////
        '/ PROTECTED        
&lt;/span&gt;
        &lt;span class=kwd&gt;Protected Overrides Sub&lt;/span&gt; OnInit(&lt;span class=kwd&gt;ByVal&lt;/span&gt; e &lt;span class=kwd&gt;As&lt;/span&gt; EventArgs)
            &lt;span class=kwd&gt;MyBase&lt;/span&gt;.OnInit(e)
            RegisterScripts()
        &lt;span class=kwd&gt;End Sub&lt;/span&gt; &lt;span class=cmt&gt;'OnInit
&lt;/span&gt;


        &lt;span class=kwd&gt;Protected Overrides Sub&lt;/span&gt; RenderBeginTag(&lt;span class=kwd&gt;ByVal&lt;/span&gt; writer &lt;span class=kwd&gt;As&lt;/span&gt; HtmlTextWriter)
            &lt;span class=kwd&gt;If&lt;/span&gt; ((&lt;span class=kwd&gt;Not&lt;/span&gt; IsNothing(Control)) &lt;span class=kwd&gt;AndAlso&lt;/span&gt; (&lt;span class=kwd&gt;Not&lt;/span&gt; IsNothing(Control.Attributes.Item(&lt;span class=st&gt;"CssSelectorClass"&lt;/span&gt;))) &lt;span class=kwd&gt;AndAlso&lt;/span&gt; (Control.Attributes.Item(&lt;span class=st&gt;"CssSelectorClass"&lt;/span&gt;).Length &amp;gt; 0)) &lt;span class=kwd&gt;Then&lt;/span&gt;
                writer.WriteLine()
                writer.WriteBeginTag(&lt;span class=st&gt;"div"&lt;/span&gt;)
                writer.WriteAttribute(&lt;span class=st&gt;"class"&lt;/span&gt;, Control.Attributes(&lt;span class=st&gt;"CssSelectorClass"&lt;/span&gt;))
                writer.Write(HtmlTextWriter.TagRightChar)
                writer.Indent = writer.Indent + 1
            &lt;span class=kwd&gt;End If&lt;/span&gt;

            writer.WriteLine()
            writer.WriteBeginTag(&lt;span class=st&gt;"div"&lt;/span&gt;)
            writer.WriteAttribute(&lt;span class=st&gt;"class"&lt;/span&gt;, &lt;span class=st&gt;"AspNet-DataList"&lt;/span&gt;)
            writer.Write(HtmlTextWriter.TagRightChar)
        &lt;span class=kwd&gt;End Sub&lt;/span&gt; &lt;span class=cmt&gt;'RenderBeginTag
&lt;/span&gt;


        &lt;span class=kwd&gt;Protected Overrides Sub&lt;/span&gt; RenderEndTag(&lt;span class=kwd&gt;ByVal&lt;/span&gt; writer &lt;span class=kwd&gt;As&lt;/span&gt; HtmlTextWriter)
            writer.WriteEndTag(&lt;span class=st&gt;"div"&lt;/span&gt;)

            &lt;span class=kwd&gt;If&lt;/span&gt; ((&lt;span class=kwd&gt;Not&lt;/span&gt; IsNothing(Control)) &lt;span class=kwd&gt;AndAlso&lt;/span&gt; (&lt;span class=kwd&gt;Not&lt;/span&gt; IsNothing(Control.Attributes.Item(&lt;span class=st&gt;"CssSelectorClass"&lt;/span&gt;))) &lt;span class=kwd&gt;AndAlso&lt;/span&gt; (Control.Attributes.Item(&lt;span class=st&gt;"CssSelectorClass"&lt;/span&gt;).Length &amp;gt; 0)) &lt;span class=kwd&gt;Then&lt;/span&gt;
                writer.Indent -= 1
                writer.WriteLine()
                writer.WriteEndTag(&lt;span class=st&gt;"div"&lt;/span&gt;)
            &lt;span class=kwd&gt;End If&lt;/span&gt;

            writer.WriteLine()
        &lt;span class=kwd&gt;End Sub&lt;/span&gt; &lt;span class=cmt&gt;'RenderEndTag
&lt;/span&gt;


        &lt;span class=kwd&gt;Protected Overrides Sub&lt;/span&gt; RenderContents(&lt;span class=kwd&gt;ByVal&lt;/span&gt; writer &lt;span class=kwd&gt;As&lt;/span&gt; HtmlTextWriter)
            &lt;span class=kwd&gt;Dim&lt;/span&gt; dataList &lt;span class=kwd&gt;As&lt;/span&gt; DataList = &lt;span class=kwd&gt;Nothing
            Try&lt;/span&gt;
                dataList = &lt;span class=kwd&gt;CType&lt;/span&gt;(Control, DataList)
            &lt;span class=kwd&gt;Catch&lt;/span&gt; ex &lt;span class=kwd&gt;As&lt;/span&gt; Exception
                &lt;span class=cmt&gt;'
&lt;/span&gt;
            &lt;span class=kwd&gt;End Try
            If Not&lt;/span&gt; (dataList &lt;span class=kwd&gt;Is Nothing&lt;/span&gt;) &lt;span class=kwd&gt;Then&lt;/span&gt;
                writer.Indent += 1
                writer.WriteLine()
                writer.WriteBeginTag(&lt;span class=st&gt;"table"&lt;/span&gt;)
                writer.WriteAttribute(&lt;span class=st&gt;"cellpadding"&lt;/span&gt;, &lt;span class=st&gt;"0"&lt;/span&gt;)
                writer.WriteAttribute(&lt;span class=st&gt;"cellspacing"&lt;/span&gt;, &lt;span class=st&gt;"0"&lt;/span&gt;)
                writer.WriteAttribute(&lt;span class=st&gt;"summary"&lt;/span&gt;, Control.ToolTip)
                writer.Write(HtmlTextWriter.TagRightChar)
                writer.Indent += 1

                &lt;span class=kwd&gt;If Not&lt;/span&gt; (dataList.HeaderTemplate &lt;span class=kwd&gt;Is Nothing&lt;/span&gt;) &lt;span class=kwd&gt;Then
                    Dim&lt;/span&gt; container &lt;span class=kwd&gt;As New&lt;/span&gt; PlaceHolder()
                    dataList.HeaderTemplate.InstantiateIn(container)
                    container.DataBind()

                    &lt;span class=kwd&gt;If&lt;/span&gt; container.Controls.Count = 1 &lt;span class=kwd&gt;And GetType&lt;/span&gt;(LiteralControl).IsInstanceOfType(container.Controls(0)) &lt;span class=kwd&gt;Then&lt;/span&gt;
                        writer.WriteLine()
                        writer.WriteBeginTag(&lt;span class=st&gt;"caption"&lt;/span&gt;)
                        writer.Write(HtmlTextWriter.TagRightChar)

                        &lt;span class=kwd&gt;Dim&lt;/span&gt; literalControl &lt;span class=kwd&gt;As&lt;/span&gt; LiteralControl = container.Controls(0) &lt;span class=cmt&gt;'
                        'ToDo: Error processing original source shown below
                        '
                        '
                        '-------------------------------------------------------------------------------^--- Syntax error: ';' expected
&lt;/span&gt;
                        writer.Write(literalControl.Text.Trim())

                        writer.WriteEndTag(&lt;span class=st&gt;"caption"&lt;/span&gt;)
                    &lt;span class=kwd&gt;Else&lt;/span&gt;
                        writer.WriteLine()
                        writer.WriteBeginTag(&lt;span class=st&gt;"thead"&lt;/span&gt;)
                        writer.Write(HtmlTextWriter.TagRightChar)
                        writer.Indent += 1

                        writer.WriteLine()
                        writer.WriteBeginTag(&lt;span class=st&gt;"tr"&lt;/span&gt;)
                        writer.Write(HtmlTextWriter.TagRightChar)
                        writer.Indent += 1

                        writer.WriteLine()
                        writer.WriteBeginTag(&lt;span class=st&gt;"th"&lt;/span&gt;)
                        writer.WriteAttribute(&lt;span class=st&gt;"colspan"&lt;/span&gt;, RepeatColumns.ToString())
                        writer.Write(HtmlTextWriter.TagRightChar)
                        writer.Indent += 1

                        writer.WriteLine()
                        container.RenderControl(writer)

                        writer.Indent -= 1
                        writer.WriteLine()
                        writer.WriteEndTag(&lt;span class=st&gt;"th"&lt;/span&gt;)

                        writer.Indent -= 1
                        writer.WriteLine()
                        writer.WriteEndTag(&lt;span class=st&gt;"tr"&lt;/span&gt;)

                        writer.Indent -= 1
                        writer.WriteLine()
                        writer.WriteEndTag(&lt;span class=st&gt;"thead"&lt;/span&gt;)
                    &lt;span class=kwd&gt;End If
                End If

                If Not&lt;/span&gt; (dataList.FooterTemplate &lt;span class=kwd&gt;Is Nothing&lt;/span&gt;) &lt;span class=kwd&gt;Then&lt;/span&gt;
                    writer.WriteLine()
                    writer.WriteBeginTag(&lt;span class=st&gt;"tfoot"&lt;/span&gt;)
                    writer.Write(HtmlTextWriter.TagRightChar)
                    writer.Indent += 1

                    writer.WriteLine()
                    writer.WriteBeginTag(&lt;span class=st&gt;"tr"&lt;/span&gt;)
                    writer.Write(HtmlTextWriter.TagRightChar)
                    writer.Indent += 1

                    writer.WriteLine()
                    writer.WriteBeginTag(&lt;span class=st&gt;"td"&lt;/span&gt;)
                    writer.WriteAttribute(&lt;span class=st&gt;"colspan"&lt;/span&gt;, RepeatColumns.ToString())
                    writer.Write(HtmlTextWriter.TagRightChar)
                    writer.Indent += 1

                    &lt;span class=kwd&gt;Dim&lt;/span&gt; container &lt;span class=kwd&gt;As New&lt;/span&gt; PlaceHolder()
                    dataList.FooterTemplate.InstantiateIn(container)
                    container.DataBind()
                    container.RenderControl(writer)

                    writer.Indent -= 1
                    writer.WriteLine()
                    writer.WriteEndTag(&lt;span class=st&gt;"td"&lt;/span&gt;)

                    writer.Indent -= 1
                    writer.WriteLine()
                    writer.WriteEndTag(&lt;span class=st&gt;"tr"&lt;/span&gt;)

                    writer.Indent -= 1
                    writer.WriteLine()
                    writer.WriteEndTag(&lt;span class=st&gt;"tfoot"&lt;/span&gt;)
                &lt;span class=kwd&gt;End If

                If Not&lt;/span&gt; (dataList.ItemTemplate &lt;span class=kwd&gt;Is Nothing&lt;/span&gt;) &lt;span class=kwd&gt;Then&lt;/span&gt;
                    writer.WriteLine()
                    writer.WriteBeginTag(&lt;span class=st&gt;"tbody"&lt;/span&gt;)
                    writer.Write(HtmlTextWriter.TagRightChar)
                    writer.Indent += 1

                    &lt;span class=kwd&gt;Dim&lt;/span&gt; nItemsInColumn &lt;span class=kwd&gt;As Integer&lt;/span&gt; = &lt;span class=kwd&gt;CInt&lt;/span&gt;(Math.Ceiling((&lt;span class=kwd&gt;CType&lt;/span&gt;(dataList.Items.Count, [&lt;span class=kwd&gt;Double&lt;/span&gt;]) / &lt;span class=kwd&gt;CType&lt;/span&gt;(RepeatColumns, [&lt;span class=kwd&gt;Double&lt;/span&gt;]))))
                    &lt;span class=kwd&gt;Dim&lt;/span&gt; iItem &lt;span class=kwd&gt;As Integer
                    For&lt;/span&gt; iItem = 0 &lt;span class=kwd&gt;To&lt;/span&gt; dataList.Items.Count - 1
                        &lt;span class=kwd&gt;Dim&lt;/span&gt; nRow &lt;span class=kwd&gt;As Integer&lt;/span&gt; = iItem / RepeatColumns
                        &lt;span class=kwd&gt;Dim&lt;/span&gt; nCol &lt;span class=kwd&gt;As Integer&lt;/span&gt; = iItem &lt;span class=kwd&gt;Mod&lt;/span&gt; RepeatColumns
                        &lt;span class=kwd&gt;Dim&lt;/span&gt; nDesiredIndex &lt;span class=kwd&gt;As Integer&lt;/span&gt; = iItem
                        &lt;span class=kwd&gt;If&lt;/span&gt; dataList.RepeatDirection = RepeatDirection.Vertical &lt;span class=kwd&gt;Then&lt;/span&gt;
                            nDesiredIndex = nCol * nItemsInColumn + nRow
                        &lt;span class=kwd&gt;End If

                        If&lt;/span&gt; iItem &lt;span class=kwd&gt;Mod&lt;/span&gt; RepeatColumns = 0 &lt;span class=kwd&gt;Then&lt;/span&gt;
                            writer.WriteLine()
                            writer.WriteBeginTag(&lt;span class=st&gt;"tr"&lt;/span&gt;)
                            writer.Write(HtmlTextWriter.TagRightChar)
                            writer.Indent += 1
                        &lt;span class=kwd&gt;End If&lt;/span&gt;

                        writer.WriteLine()
                        writer.WriteBeginTag(&lt;span class=st&gt;"td"&lt;/span&gt;)
                        writer.Write(HtmlTextWriter.TagRightChar)
                        writer.Indent += 1

                        &lt;span class=kwd&gt;Dim&lt;/span&gt; itemCtrl &lt;span class=kwd&gt;As&lt;/span&gt; Control
                        &lt;span class=kwd&gt;For Each&lt;/span&gt; itemCtrl &lt;span class=kwd&gt;In&lt;/span&gt; dataList.Items(iItem).Controls
                            itemCtrl.RenderControl(writer)
                        &lt;span class=kwd&gt;Next&lt;/span&gt; itemCtrl

                        writer.Indent -= 1
                        writer.WriteLine()
                        writer.WriteEndTag(&lt;span class=st&gt;"td"&lt;/span&gt;)

                        &lt;span class=kwd&gt;If&lt;/span&gt; (iItem + 1) &lt;span class=kwd&gt;Mod&lt;/span&gt; RepeatColumns = 0 &lt;span class=kwd&gt;Then&lt;/span&gt;
                            writer.Indent -= 1
                            writer.WriteLine()
                            writer.WriteEndTag(&lt;span class=st&gt;"tr"&lt;/span&gt;)
                        &lt;span class=kwd&gt;End If
                    Next&lt;/span&gt; iItem

                    &lt;span class=kwd&gt;If&lt;/span&gt; dataList.Items.Count &lt;span class=kwd&gt;Mod&lt;/span&gt; RepeatColumns &amp;lt;&amp;gt; 0 &lt;span class=kwd&gt;Then&lt;/span&gt;
                        writer.Indent -= 1
                        writer.WriteLine()
                        writer.WriteEndTag(&lt;span class=st&gt;"tr"&lt;/span&gt;)
                    &lt;span class=kwd&gt;End If&lt;/span&gt;

                    writer.Indent -= 1
                    writer.WriteLine()
                    writer.WriteEndTag(&lt;span class=st&gt;"tbody"&lt;/span&gt;)
                &lt;span class=kwd&gt;End If&lt;/span&gt;

                writer.Indent -= 1
                writer.WriteLine()
                writer.WriteEndTag(&lt;span class=st&gt;"table"&lt;/span&gt;)

                writer.Indent -= 1
                writer.WriteLine()
            &lt;span class=kwd&gt;End If
        End Sub&lt;/span&gt; &lt;span class=cmt&gt;'RenderContents


        '/ ///////////////////////////////////////////////////////////////////////////////
        '/ PRIVATE        
&lt;/span&gt;
        &lt;span class=kwd&gt;Private Sub&lt;/span&gt; RegisterScripts()
        &lt;span class=kwd&gt;End Sub&lt;/span&gt; &lt;span class=cmt&gt;'RegisterScripts
&lt;/span&gt;
    &lt;span class=kwd&gt;End Class&lt;/span&gt; &lt;span class=cmt&gt;'DataListAdapter
&lt;/span&gt;
&lt;span class=kwd&gt;End Namespace&lt;/span&gt; &lt;span class=cmt&gt;'CSSFriendly&lt;/span&gt;&lt;/pre&gt;&amp;nbsp;</description></item><item><title>Experimental DataListAdapter w/ RepeatColumns fix</title><link>http://forums.asp.net/thread/1298405.aspx</link><pubDate>Sat, 27 May 2006 21:42:56 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1298405</guid><dc:creator>Russ Helfand</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1298405.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1018&amp;PostID=1298405</wfw:commentRss><description>&lt;p&gt;Several people have noted that when using a DataList whose RepeatColumns property value is 0, the DataListAdapter crashes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a HREF="/thread/1298246.aspx"&gt;http://forums.asp.net/thread/1298246.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a HREF="/thread/1290684.aspx"&gt;http://forums.asp.net/thread/1290684.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a HREF="/thread/1275928.aspx"&gt;http://forums.asp.net/thread/1275928.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a HREF="/thread/1298056.aspx"&gt;http://forums.asp.net/thread/1298056.aspx&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I thought the authors of those threads and other forum readers might want to comment on the experimental version of an enhanced DataListAdapter that attempts to handle the case of RepeatColumns equals 0 in a manner consistent with the framework's original intent:&lt;/p&gt;
&lt;blockquote dir=ltr&gt;
&lt;p&gt;&lt;font color=#006400&gt;If this property is set to &lt;b&gt;0&lt;/b&gt;, the &lt;b&gt;DataList&lt;/b&gt; control displays its items in a single row or column, based on the value of the &lt;b&gt;RepeatDirection&lt;/b&gt; property. If the &lt;b&gt;RepeatDirection&lt;/b&gt; property is set to &lt;b&gt;RepeatDirection.Horizontal&lt;/b&gt;, the items are displayed in a single row. If the &lt;b&gt;RepeatDirection&lt;/b&gt; property is set to &lt;b&gt;RepeatDirection.Vertical&lt;/b&gt;, the items are displayed in a single column.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref26/html/P_System_Web_UI_WebControls_DataList_RepeatColumns.asp"&gt;http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref26/html/P_System_Web_UI_WebControls_DataList_RepeatColumns.asp&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If you are using version 1.1 of the kit, here is a replacement for DataListAdapter.cs (I've not created a VB version but could if it is something folks really need to see right now).&amp;nbsp; I'm interested in comments and criticism of this version.&amp;nbsp; Thanks.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;pre&gt;using System;
using System.Data;
using System.Collections;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace CSSFriendly
{
    public class DataListAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
    {
        private int RepeatColumns
        {
            get
            {
                DataList dataList = Control as DataList;
                int nRet = 1;
                if (dataList != null)
                {
                    if (dataList.RepeatColumns == 0)
                    {
                        if (dataList.RepeatDirection == RepeatDirection.Horizontal)
                        {
                            nRet = dataList.Items.Count;
                        }
                    }
                    else
                    {
                        nRet = dataList.RepeatColumns;
                    }
                }
                return nRet;
            }
        }

        public DataListAdapter()
        {
        }

        /// ///////////////////////////////////////////////////////////////////////////////
        /// PROTECTED        
        
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            RegisterScripts();
        }

        protected override void RenderBeginTag(HtmlTextWriter writer)
        {
            if ((Control != null) &amp;amp;&amp;amp; (Control.Attributes["CssSelectorClass"] != null) &amp;amp;&amp;amp; (Control.Attributes["CssSelectorClass"].Length &amp;gt; 0))
            {
                writer.WriteLine();
                writer.WriteBeginTag("div");
                writer.WriteAttribute("class", Control.Attributes["CssSelectorClass"]);
                writer.Write(HtmlTextWriter.TagRightChar);
                writer.Indent++;
            }

            writer.WriteLine();
            writer.WriteBeginTag("div");
            writer.WriteAttribute("class", "AspNet-DataList");
            writer.Write(HtmlTextWriter.TagRightChar);            
        }

        protected override void RenderEndTag(HtmlTextWriter writer)
        {
            writer.WriteEndTag("div");

            if ((Control != null) &amp;amp;&amp;amp; (Control.Attributes["CssSelectorClass"] != null) &amp;amp;&amp;amp; (Control.Attributes["CssSelectorClass"].Length &amp;gt; 0))
            {
                writer.Indent--;
                writer.WriteLine();
                writer.WriteEndTag("div");
            }

            writer.WriteLine();
        }

        protected override void RenderContents(HtmlTextWriter writer)
        {
            DataList dataList = Control as DataList;
            if (dataList != null)
            {
                writer.Indent++;
                writer.WriteLine();
                writer.WriteBeginTag("table");
                writer.WriteAttribute("cellpadding", "0");
                writer.WriteAttribute("cellspacing", "0");
                writer.WriteAttribute("summary", Control.ToolTip);
                writer.Write(HtmlTextWriter.TagRightChar);
                writer.Indent++;

                if (dataList.HeaderTemplate != null)
                {
                    PlaceHolder container = new PlaceHolder();
                    dataList.HeaderTemplate.InstantiateIn(container);
                    container.DataBind();

                    if ((container.Controls.Count == 1) &amp;amp;&amp;amp; typeof(LiteralControl).IsInstanceOfType(container.Controls[0]))
                    {
                        writer.WriteLine();
                        writer.WriteBeginTag("caption");
                        writer.Write(HtmlTextWriter.TagRightChar);

                        LiteralControl literalControl = container.Controls[0] as LiteralControl;
                        writer.Write(literalControl.Text.Trim());

                        writer.WriteEndTag("caption");
                    }
                    else
                    {
                        writer.WriteLine();
                        writer.WriteBeginTag("thead");
                        writer.Write(HtmlTextWriter.TagRightChar);
                        writer.Indent++;

                        writer.WriteLine();
                        writer.WriteBeginTag("tr");
                        writer.Write(HtmlTextWriter.TagRightChar);
                        writer.Indent++;

                        writer.WriteLine();
                        writer.WriteBeginTag("th");
                        writer.WriteAttribute("colspan", RepeatColumns.ToString());
                        writer.Write(HtmlTextWriter.TagRightChar);
                        writer.Indent++;

                        writer.WriteLine();
                        container.RenderControl(writer);

                        writer.Indent--;
                        writer.WriteLine();
                        writer.WriteEndTag("th");

                        writer.Indent--;
                        writer.WriteLine();
                        writer.WriteEndTag("tr");

                        writer.Indent--;
                        writer.WriteLine();
                        writer.WriteEndTag("thead");
                    }
                }

                if (dataList.FooterTemplate != null)
                {
                    writer.WriteLine();
                    writer.WriteBeginTag("tfoot");
                    writer.Write(HtmlTextWriter.TagRightChar);
                    writer.Indent++;

                    writer.WriteLine();
                    writer.WriteBeginTag("tr");
                    writer.Write(HtmlTextWriter.TagRightChar);
                    writer.Indent++;

                    writer.WriteLine();
                    writer.WriteBeginTag("td");
                    writer.WriteAttribute("colspan", RepeatColumns.ToString());
                    writer.Write(HtmlTextWriter.TagRightChar);
                    writer.Indent++;

                    PlaceHolder container = new PlaceHolder();
                    dataList.FooterTemplate.InstantiateIn(container);
                    container.DataBind();
                    container.RenderControl(writer);

                    writer.Indent--;
                    writer.WriteLine();
                    writer.WriteEndTag("td");

                    writer.Indent--;
                    writer.WriteLine();
                    writer.WriteEndTag("tr");

                    writer.Indent--;
                    writer.WriteLine();
                    writer.WriteEndTag("tfoot");
                }

                if (dataList.ItemTemplate != null)
                {
                    writer.WriteLine();
                    writer.WriteBeginTag("tbody");
                    writer.Write(HtmlTextWriter.TagRightChar);
                    writer.Indent++;

                    int nItemsInColumn = (int)Math.Ceiling(((Double)dataList.Items.Count) / ((Double)RepeatColumns));
                    for (int iItem = 0; iItem &amp;lt; dataList.Items.Count; iItem++)
                    {
                        int nRow = iItem / RepeatColumns;
                        int nCol = iItem % RepeatColumns;
                        int nDesiredIndex = iItem;
                        if (dataList.RepeatDirection == RepeatDirection.Vertical)
                        {
                            nDesiredIndex = (nCol * nItemsInColumn) + nRow;
                        }

                        if ((iItem % RepeatColumns) == 0)
                        {
                            writer.WriteLine();
                            writer.WriteBeginTag("tr");
                            writer.Write(HtmlTextWriter.TagRightChar);
                            writer.Indent++;
                        }

                        writer.WriteLine();
                        writer.WriteBeginTag("td");
                        writer.Write(HtmlTextWriter.TagRightChar);
                        writer.Indent++;

                        foreach (Control itemCtrl in dataList.Items[iItem].Controls)
                        {
                            itemCtrl.RenderControl(writer);
                        }

                        writer.Indent--;
                        writer.WriteLine();
                        writer.WriteEndTag("td");

                        if (((iItem + 1) % RepeatColumns) == 0)
                        {
                            writer.Indent--;
                            writer.WriteLine();
                            writer.WriteEndTag("tr");
                        }
                    }

                    if ((dataList.Items.Count % RepeatColumns) != 0)
                    {
                        writer.Indent--;
                        writer.WriteLine();
                        writer.WriteEndTag("tr");
                    }

                    writer.Indent--;
                    writer.WriteLine();
                    writer.WriteEndTag("tbody");
                }

                writer.Indent--;
                writer.WriteLine();
                writer.WriteEndTag("table");

                writer.Indent--;
                writer.WriteLine();
            }
        }

        /// ///////////////////////////////////////////////////////////////////////////////
        /// PRIVATE        

        private void RegisterScripts()
        {
        }
    }
}
&lt;/pre&gt;</description></item></channel></rss>