ListView.GroupItemCount Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define o número de itens a exibir por grupo num ListView controlo.
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 Propriedade
O número de itens a mostrar por grupo num ListView controlo. O padrão é 1, o que indica que o controlo ListView mostrará um item por grupo.
Exceções
A GroupItemCount propriedade é definida para um valor inferior a 1.
Exemplos
O exemplo seguinte mostra como criar um layout em mosaico no ListView controlo usando a GroupItemCount propriedade. Também mostra como alterar esta propriedade programaticamente.
<%@ 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="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</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"> </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="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</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"> </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>
Observações
Use a GroupItemCount propriedade para especificar o número de itens a agrupar no ListView controlo. (Por outras palavras, isto especifica o número de itens a exibir para cada grupo do controlo.) Para cada grupo, o controlo ListView renderiza o conteúdo do GroupTemplate template e substitui o elemento marcador pelo conteúdo real do item. Faz isto tantas vezes quanto o número de itens definidos pela GroupItemCount propriedade.
Podes usar GroupItemCount com o GroupTemplate template para criar um layout em mosaico no ListView controlo. Numa disposição de mesa em mosaico, os itens repetem-se horizontalmente numa linha. O número de vezes que um item é repetido é especificado pela GroupItemCount propriedade.