RepeatLayout Enum

Definition

Specifies the layout of items in a list control.

public enum class RepeatLayout
public enum RepeatLayout
type RepeatLayout = 
Public Enum RepeatLayout
Inheritance
RepeatLayout

Fields

Flow 1

Items are displayed without a table structure. Rendered markup consists of a span element and items are separated by br elements.

OrderedList 3

Items are displayed without a table structure. Rendered markup consists of an ol element that contains li elements.
This value is new as of ASP.NET 4 and is a valid option only for the CheckBoxList and RadioButtonList controls.

Table 0

Items are displayed in a table.
This option causes the control to render HTML that might not conform to accessibility standards. For more information, see Accessibility in Visual Studio and ASP.NET.

UnorderedList 2

Items are displayed without a table structure. Rendered markup consists of a ul element that contains li elements.
This field is new as of ASP.NET 4 and is a valid option only for the CheckBoxList and RadioButtonList controls.

Examples

The following example shows a list control whose layout is defined by the Table enumeration value.


<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">
 
      ICollection CreateDataSource() 
      {
      
         // Create sample data for the DataList control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
         dt.Columns.Add(new DataColumn("ImageValue", typeof(String)));
 
         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Description for item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
            dr[3] = "Image" + i.ToString() + ".jpg";
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
 
      void Page_Load(Object sender, EventArgs e) 
      {

         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack) 
         {
            ItemsList.DataSource = CreateDataSource();
            ItemsList.DataBind();
         }

      }
 
      void Button_Click(Object sender, EventArgs e) 
      {
 
         // Set the repeat direction based on the selected value of the
         // DirectionList DropDownList control.
         ItemsList.RepeatDirection = 
             (RepeatDirection)DirectionList.SelectedIndex;

         // Set the repeat layout based on the selected value of the
         // LayoutList DropDownList control.
         ItemsList.RepeatLayout = (RepeatLayout)LayoutList.SelectedIndex;

         // Set the number of columns to display based on the selected
         // value of the ColumnsList DropDownList control.
         ItemsList.RepeatColumns = ColumnsList.SelectedIndex;

         // Show or hide the gridlines based on the value of the
         // ShowBorderCheckBox property. Note that gridlines are displayed
         // only if the RepeatLayout property is set to Table.
         if ((ShowBorderCheckBox.Checked) 
             && (ItemsList.RepeatLayout == RepeatLayout.Table)) 
         {
            ItemsList.BorderWidth = Unit.Pixel(1);
            ItemsList.GridLines = GridLines.Both;
         }    
         else  
         {
            ItemsList.BorderWidth = Unit.Pixel(0);
            ItemsList.GridLines = GridLines.None;
         }
    
      }    
 
   </script>
 
<head runat="server">
    <title>DataList Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Example</h3>
 
      <asp:DataList id="ItemsList"
           BorderColor="black"
           CellPadding="5"
           CellSpacing="5"
           RepeatDirection="Vertical"
           RepeatLayout="Table"
           RepeatColumns="0"
           BorderWidth="0"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            List of items

         </HeaderTemplate>
               
         <ItemTemplate>

            Description: <br />
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

            <br />

            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>

            <br />

            <asp:Image id="ProductImage"
                 AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
                 ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                 runat="server"/>

         </ItemTemplate>
 
      </asp:DataList>
 
      <hr />

      <table cellpadding="5">

         <tr>

            <th>

               Repeat direction:

            </th>

            <th>

               Repeat layout:

            </th>

            <th>

               Repeat columns:

            </th>

            <th>

               <asp:CheckBox id="ShowBorderCheckBox"
                    Text="Show border"
                    Checked="False" 
                    runat="server" />

            </th>

         </tr>

         <tr>

            <td>

               <asp:DropDownList id="DirectionList" 
                    runat="server">

                  <asp:ListItem>Horizontal</asp:ListItem>
                  <asp:ListItem Selected="True">Vertical</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

               <asp:DropDownList id="LayoutList" 
                    runat="server">

                  <asp:ListItem Selected="True">Table</asp:ListItem>
                  <asp:ListItem>Flow</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

               <asp:DropDownList id="ColumnsList" 
                    runat="server">

                  <asp:ListItem Selected="True">0</asp:ListItem>
                  <asp:ListItem>1</asp:ListItem>
                  <asp:ListItem>2</asp:ListItem>
                  <asp:ListItem>3</asp:ListItem>
                  <asp:ListItem>4</asp:ListItem>
                  <asp:ListItem>5</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

                

            </td>


         </tr>

      </table>     
         
      <asp:LinkButton id="RefreshButton" 
           Text="Refresh DataList" 
           OnClick="Button_Click" 
           runat="server"/>
 
   </form>
 
</body>
</html>

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">
 
      Function CreateDataSource() As ICollection 
      
         ' Create sample data for the DataList control.
         Dim dt As DataTable = New DataTable()
         dim dr As DataRow
 
         ' Define the columns of the table.
         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
         dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
         dt.Columns.Add(New DataColumn("ImageValue", GetType(String)))
 
         ' Populate the table with sample values.
         Dim i As Integer

         For i = 0 To 8 

            dr = dt.NewRow()
 
            dr(0) = i
            dr(1) = "Description for item " & i.ToString()
            dr(2) = 1.23 * (i + 1)
            dr(3) = "Image" & i.ToString() & ".jpg"
 
            dt.Rows.Add(dr)

         Next i
 
         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function
 
      Sub Page_Load(sender As Object, e As EventArgs) 

         ' Load sample data only once, when the page is first loaded.
         If Not IsPostBack Then 
     
            ItemsList.DataSource = CreateDataSource()
            ItemsList.DataBind()
         
         End If

      End Sub
 
      Sub Button_Click(sender As Object, e As EventArgs) 
 
         ' Set the repeat direction based on the selected value of the
         ' DirectionList DropDownList control.
         ItemsList.RepeatDirection = _
             CType(DirectionList.SelectedIndex, RepeatDirection)

         ' Set the repeat layout based on the selected value of the
         ' LayoutList DropDownList control.
         ItemsList.RepeatLayout = CType(LayoutList.SelectedIndex, RepeatLayout)

         ' Set the number of columns to display based on the selected
         ' value of the ColumnsList DropDownList control.
         ItemsList.RepeatColumns = ColumnsList.SelectedIndex

         ' Show or hide the gridlines based on the value of the
         ' ShowBorderCheckBox. Note that gridlines are displayed
         ' only if the RepeatLayout property is set to Table.
         If ShowBorderCheckBox.Checked _
             And ItemsList.RepeatLayout = RepeatLayout.Table Then 

            ItemsList.BorderWidth = Unit.Pixel(1)
            ItemsList.GridLines = GridLines.Both
         
         Else  
    
            ItemsList.BorderWidth = Unit.Pixel(0)
            ItemsList.GridLines = GridLines.None
         
         End If
    
      End Sub    
 
   </script>
 
<head runat="server">
    <title>DataList Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Example</h3>
 
      <asp:DataList id="ItemsList"
           BorderColor="black"
           CellPadding="5"
           CellSpacing="5"
           RepeatDirection="Vertical"
           RepeatLayout="Table"
           RepeatColumns="0"
           BorderWidth="0"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            List of items

         </HeaderTemplate>
               
         <ItemTemplate>

            Description: <br />
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

            <br />

            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>

            <br />

            <asp:Image id="ProductImage"
                 AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
                 ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                 runat="server"/>

         </ItemTemplate>
 
      </asp:DataList>
 
      <hr />

      <table cellpadding="5">

         <tr>

            <th>

               Repeat direction:

            </th>

            <th>

               Repeat layout:

            </th>

            <th>

               Repeat columns:

            </th>

            <th>

               <asp:CheckBox id="ShowBorderCheckBox"
                    Text="Show border"
                    Checked="False" 
                    runat="server" />

            </th>

         </tr>

         <tr>

            <td>

               <asp:DropDownList id="DirectionList" 
                    runat="server">

                  <asp:ListItem>Horizontal</asp:ListItem>
                  <asp:ListItem Selected="True">Vertical</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

               <asp:DropDownList id="LayoutList" 
                    runat="server">

                  <asp:ListItem Selected="True">Table</asp:ListItem>
                  <asp:ListItem>Flow</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

               <asp:DropDownList id="ColumnsList" 
                    runat="server">

                  <asp:ListItem Selected="True">0</asp:ListItem>
                  <asp:ListItem>1</asp:ListItem>
                  <asp:ListItem>2</asp:ListItem>
                  <asp:ListItem>3</asp:ListItem>
                  <asp:ListItem>4</asp:ListItem>
                  <asp:ListItem>5</asp:ListItem>

               </asp:DropDownList>

            </td>

            <td>

                

            </td>


         </tr>

      </table>     
         
      <asp:LinkButton id="RefreshButton" 
           Text="Refresh DataList" 
           OnClick="Button_Click" 
           runat="server"/>
 
   </form>
 
</body>
</html>

The following example shows markup that is rendered for a CheckBoxList control whose RepeatLayout property is set to Flow.

<span id="ctl00_MainContent_CheckBoxList1">  
  <input id="ctl00_MainContent_CheckBoxList1_0" type="checkbox"   
    name="ctl00$MainContent$CheckBoxList1$0" value="Item 1" />  
  <label for="ctl00_MainContent_CheckBoxList1_0">Item 1</label>  
  <br />  
  <input id="ctl00_MainContent_CheckBoxList1_1" type="checkbox"  
    name="ctl00$MainContent$CheckBoxList1$1" value="Item 2"/>  
  <label for="ctl00_MainContent_CheckBoxList1_1">Item 2</label>  
  <br />  
  <input id="ctl00_MainContent_CheckBoxList1_2" type="checkbox"  
    name="ctl00$MainContent$CheckBoxList1$2" value="Item 2" />  
  <label for="ctl00_MainContent_CheckBoxList1_2">Item 2</label>  
</span>  

The following example shows markup that is rendered for a CheckBoxList control whose RepeatLayout property is set to OrderedList.

<ol id="ctl00_MainContent_CheckBoxList3">  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList3_0" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList3$0" value="Item 1" />  
    <label for="ctl00_MainContent_CheckBoxList3_0">Item 1</label>  
  </li>  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList3_1" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList3$1" value="Item 2" />  
    <label for="ctl00_MainContent_CheckBoxList3_1">Item 2</label>  
  </li>  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList3_2" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList3$2" value="Item 2" />  
    <label for="ctl00_MainContent_CheckBoxList3_2">Item 2</label>  
  </li>  
</ol>  

The following example shows markup that is rendered for a CheckBoxList control whose RepeatLayout property is set to Table.

<table id="ctl00_MainContent_CheckBoxList2">  
  <tr>  
    <td>  
      <input id="ctl00_MainContent_CheckBoxList2_0" type="checkbox"  
        name="ctl00$MainContent$CheckBoxList2$0" value="Item 1" />  
      <label for="ctl00_MainContent_CheckBoxList2_0">Item 1</label>  
    </td>  
  </tr>  
  <tr>  
    <td>  
      <input id="ctl00_MainContent_CheckBoxList2_1" type="checkbox"  
        name="ctl00$MainContent$CheckBoxList2$1" value="Item 2" />  
      <label for="ctl00_MainContent_CheckBoxList2_1">Item 2</label>  
    </td>  
  </tr>  
  <tr>  
    <td>  
      <input id="ctl00_MainContent_CheckBoxList2_2" type="checkbox"  
        name="ctl00$MainContent$CheckBoxList2$2" value="Item 3" />  
      <label for="ctl00_MainContent_CheckBoxList2_2">Item 3</label>  
    </td>  
  </tr>  
</table>  

The following example shows markup that is rendered for a CheckBoxList control whose RepeatLayout property is set to UnorderedList.

<ul id="ctl00_MainContent_CheckBoxList4">  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList4_0" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList4$0" value="Item 1" />  
    <label for="ctl00_MainContent_CheckBoxList4_0">Item 1</label>  
  </li>  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList4_1" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList4$1" value="Item 2" />  
    <label for="ctl00_MainContent_CheckBoxList4_1">Item 2</label>  
  </li>  
  <li>  
    <input id="ctl00_MainContent_CheckBoxList4_2" type="checkbox"  
      name="ctl00$MainContent$CheckBoxList4$2" value="Item 2" />  
    <label for="ctl00_MainContent_CheckBoxList4_2">Item 2</label>  
  </li>  
</ul>  

Remarks

The RepeatLayout enumeration represents the different layout options for a list control.

Applies to

See also