ListView.GroupItemCount Propiedad

Definición

Obtiene o establece el número de elementos que se van a mostrar por grupo en un control ListView.

public:
 virtual property int GroupItemCount { int get(); void set(int value); };
public virtual int GroupItemCount { get; set; }
member this.GroupItemCount : int with get, set
Public Overridable Property GroupItemCount As Integer

Valor de propiedad

Número de elementos que va a mostrarse por grupo en un control ListView. El valor predeterminado es 1, que indica que el control ListView mostrará un elemento por grupo.

Excepciones

La propiedad GroupItemCount se establece en un valor menor que 1.

Ejemplos

En el ejemplo siguiente se muestra cómo crear un diseño en mosaico en el ListView control mediante la GroupItemCount propiedad . También se muestra cómo cambiar esta propiedad mediante programación.

<%@ Page language="C#" %>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void GroupItemCountList_SelectedIndexChanged(object sender, EventArgs e)
    {
      // Changes the number of items displayed for each group.
      ContactsListView.GroupItemCount = 
        Convert.ToInt32(GroupItemCountList.SelectedValue);
    }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>ListView GroupItemCount Example</title>
    <style type="text/css">
      body { font: 10pt Trebuchet MS; }        
    </style>
  </head>
  <body>
    <form id="form1" runat="server">
        
      <h3>ListView GroupItemCount Example</h3>

      Number of columns:
      <asp:DropDownList ID="GroupItemCountList"
        AutoPostBack="true"
        runat="server"         
        OnSelectedIndexChanged="GroupItemCountList_SelectedIndexChanged"        
        >
          <asp:ListItem>1</asp:ListItem>
          <asp:ListItem Selected="True">2</asp:ListItem>
          <asp:ListItem>3</asp:ListItem>
          <asp:ListItem>4</asp:ListItem>
      </asp:DropDownList>
      <br />
      <br />      
      <hr />
      
      <asp:ListView ID="ContactsListView" 
        DataSourceID="ContactsDataSource" 
        GroupItemCount="2"        
        runat="server">
        <LayoutTemplate>
          <table id="tblContacts" runat="server" cellspacing="0" cellpadding="2">
            <tr runat="server" id="groupPlaceholder" />
          </table>
          <asp:DataPager runat="server" ID="ContactsDataPager" PageSize="24">
            <Fields>
              <asp:NextPreviousPagerField 
                ShowFirstPageButton="true" ShowLastPageButton="true"
                FirstPageText="|&lt;&lt; " LastPageText=" &gt;&gt;|"
                NextPageText=" &gt; " PreviousPageText=" &lt; " />
            </Fields>
          </asp:DataPager>
        </LayoutTemplate>
        <ItemTemplate>
          <td align="center" style="width:10px" runat="server">
            <asp:Label ID="IDLabel" runat="Server" Text='<%#Eval("ContactID") %>' />
          </td>
          <td style="width:70px" runat="server">
            <asp:Label ID="FirstNameLabel" runat="Server" Text='<%#Eval("FirstName") %>' />
          </td>
          <td style="width:70px" runat="server">
            <asp:Label ID="LastNameLabel" runat="Server" Text='<%#Eval("LastName") %>' />
          </td>
        </ItemTemplate>
        <GroupTemplate>
          <tr runat="server" id="ContactsRow" style="background-color: #FFFFFF">
            <td runat="server" id="itemPlaceholder" />
          </tr>
        </GroupTemplate>
        <ItemSeparatorTemplate>
          <td runat="server" style="border-right: 1px solid #00C0C0">&nbsp;</td>
        </ItemSeparatorTemplate>
      </asp:ListView>

      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->
      <asp:SqlDataSource ID="ContactsDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [ContactID], [FirstName], [LastName] FROM Person.Contact">
      </asp:SqlDataSource>
      
    </form>
  </body>
</html>
<%@ Page language="VB" %>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Protected Sub GroupItemCountList_SelectedIndexChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
          
    ' Changes the number of items displayed for each group.  
    ContactsListView.GroupItemCount = _
      Convert.ToInt32(GroupItemCountList.SelectedValue)
        
  End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>ListView GroupItemCount Example</title>
    <style type="text/css">
      body { font: 10pt Trebuchet MS; }        
    </style>
  </head>
  <body>
    <form id="form1" runat="server">
        
      <h3>ListView GroupItemCount Example</h3>

      Number of columns:
      <asp:DropDownList ID="GroupItemCountList"
        AutoPostBack="true"
        runat="server"         
        OnSelectedIndexChanged="GroupItemCountList_SelectedIndexChanged"        
        >
          <asp:ListItem>1</asp:ListItem>
          <asp:ListItem Selected="True">2</asp:ListItem>
          <asp:ListItem>3</asp:ListItem>
          <asp:ListItem>4</asp:ListItem>
      </asp:DropDownList>
      <br />
      <br />      
      <hr />
      
      <asp:ListView ID="ContactsListView" 
        DataSourceID="ContactsDataSource" 
        GroupItemCount="2"        
        runat="server">
        <LayoutTemplate>
          <table id="tblContacts" runat="server" cellspacing="0" cellpadding="2">
            <tr runat="server" id="groupPlaceholder" />
          </table>
          <asp:DataPager runat="server" ID="ContactsDataPager" PageSize="24">
            <Fields>
              <asp:NextPreviousPagerField 
                ShowFirstPageButton="true" ShowLastPageButton="true"
                FirstPageText="|&lt;&lt; " LastPageText=" &gt;&gt;|"
                NextPageText=" &gt; " PreviousPageText=" &lt; " />
            </Fields>
          </asp:DataPager>
        </LayoutTemplate>
        <ItemTemplate>
          <td align="center" style="width:10px" runat="server">
            <asp:Label ID="IDLabel" runat="Server" Text='<%#Eval("ContactID") %>' />
          </td>
          <td style="width:70px" runat="server">
            <asp:Label ID="FirstNameLabel" runat="Server" Text='<%#Eval("FirstName") %>' />
          </td>
          <td style="width:70px" runat="server">
            <asp:Label ID="LastNameLabel" runat="Server" Text='<%#Eval("LastName") %>' />
          </td>
        </ItemTemplate>
        <GroupTemplate>
          <tr runat="server" id="ContactsRow" style="background-color: #FFFFFF">
            <td runat="server" id="itemPlaceholder" />
          </tr>
        </GroupTemplate>
        <ItemSeparatorTemplate>
          <td runat="server" style="border-right: 1px solid #00C0C0">&nbsp;</td>
        </ItemSeparatorTemplate>
      </asp:ListView>

      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->
      <asp:SqlDataSource ID="ContactsDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [ContactID], [FirstName], [LastName] FROM Person.Contact">
      </asp:SqlDataSource>
      
    </form>
  </body>
</html>

Comentarios

Utilice la GroupItemCount propiedad para especificar el número de elementos que se van a agrupar en el ListView control . (En otras palabras, especifica el número de elementos que se van a mostrar para cada grupo del control). Para cada grupo, el ListView control representa el contenido de la GroupTemplate plantilla y reemplaza el marcador de posición de elemento por el contenido real del elemento. Lo hace tantas veces como el número de elementos definidos por la GroupItemCount propiedad .

Puede usar GroupItemCount con la GroupTemplate plantilla para crear un diseño en mosaico en el ListView control . En un diseño de tabla en mosaico, los elementos se repiten horizontalmente en una fila. La propiedad especifica GroupItemCount los números de veces que se repite un elemento.

Se aplica a

Consulte también