PagedControl.ItemWeight Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o peso aproximado de um único item no controle. Esta API está obsoleta. Para obter informações sobre como desenvolver aplicativos móveis ASP.NET, consulte Aplicativos Móveis & Sites com ASP.NET.
protected:
virtual property int ItemWeight { int get(); };
protected virtual int ItemWeight { get; }
member this.ItemWeight : int
Protected Overridable ReadOnly Property ItemWeight As Integer
Valor da propriedade
O peso aproximado de um único item no controle.
Exemplos
O exemplo de código a seguir cria e usa um controle de lista personalizado. O exemplo demonstra como substituir a ItemWeight propriedade de uma List classe para especificar um novo peso de controle.
<%@ Page Language="C#"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<%@ Import Namespace="System.Security.Permissions" %>
<script runat="server">
// A custom list control for illustration
[AspNetHostingPermission(SecurityAction.Demand,
Level=AspNetHostingPermissionLevel.Minimal),
AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level=AspNetHostingPermissionLevel.Minimal)]
public class ListControl : List
{
public ListControl()
: base()
{}
// Set a weight for the items
protected override int ItemWeight
{
get { return 150; }
}
}
ListControl List1;
private void Page_Load(object sender,
System.EventArgs e)
{
// Instantiate the custom control
List1 = new ListControl();
List1.ItemCount = 20;
List1.ID = "List1";
List1.LoadItems += this.LoadNow;
Form1.Controls.Add(List1);
Form1.ControlToPaginate = List1;
}
// Called by the List whenever it needs new items
private void LoadNow(object sender,
LoadItemsEventArgs e)
{
int j = e.ItemIndex;
// You have to estimate the item size
int estItemSize = 110;
// Get the optimum page weight for the device
int wt =
Form1.Adapter.Page.Adapter.OptimumPageWeight;
// Get the number of items per page
List1.ItemsPerPage = wt / estItemSize;
// Build a section of the array
ArrayList arr= new ArrayList();
for (int i = 1; i <= e.ItemCount; i++)
{
int v = i + j;
arr.Add((v.ToString() + " List Item"));
}
// Bind the array to the list
List1.DataSource = arr;
List1.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:Form id="Form1" runat="server"
Paginate="true">
<mobile:TextView ID="TextView1"
Runat="server" />
</mobile:Form>
</body>
</html>
<%@ Page Language="VB"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<%@ Import Namespace="System.Security.Permissions" %>
<script runat="server">
' A custom list control for illustration
< _
AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal), _
AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class ListControl
Inherits List
Public Sub New()
MyBase.New()
End Sub
' Set a weight for the items
Protected Overrides ReadOnly _
Property ItemWeight() As Integer
Get
Return 150
End Get
End Property
End Class
Dim WithEvents List1 As ListControl
Private Sub Page_Load(ByVal sender As Object, _
ByVal e As EventArgs)
' Instantiate the custom control
List1 = New ListControl()
List1.ItemCount = 20
List1.ID = "List1"
Form1.Controls.Add(List1)
Form1.ControlToPaginate = List1
End Sub
' Called by the List whenever it needs new items
Private Sub LoadNow(ByVal sender As Object, _
ByVal e As LoadItemsEventArgs) _
Handles List1.LoadItems
Dim j As Integer = e.ItemIndex
' You have to estimate the item size
Dim estItemSize As Integer = 110
' Get the optimum page weight for the device
Dim wt As Integer = _
Form1.Adapter.Page.Adapter.OptimumPageWeight
' Get the number of items per page
List1.ItemsPerPage = wt / estItemSize
' Build a section of the array
Dim arr As New ArrayList()
For i As Integer = 1 To e.ItemCount
Dim v As Integer = i + j
arr.Add((v.ToString() + " List Item"))
Next
' Bind the array to the list
List1.DataSource = arr
List1.DataBind()
End Sub
</script>
<html xmlns="http:'www.w3.org/1999/xhtml" >
<body>
<mobile:Form id="Form1" runat="server"
Paginate="true">
<mobile:TextView ID="TextView1"
Runat="server" />
</mobile:Form>
</body>
</html>
Comentários
Um valor de -1 indica que o peso padrão do elemento deve ser usado. A classe herdada deve substituir essa propriedade. Para obter mais informações sobre como substituir essa propriedade, consulte Suporte à paginação.