PagedControl.ItemWeight Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el peso aproximado de un único elemento en el control. Esta API está obsoleta. Para obtener información sobre cómo desarrollar aplicaciones móviles ASP.NET, consulte Mobile Apps & Sites with 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 de propiedad
Peso aproximado de un único elemento en el control.
Ejemplos
En el ejemplo de código siguiente se crea y se usa un control de lista personalizado. En el ejemplo se muestra cómo invalidar la ItemWeight propiedad de una List clase para especificar un nuevo peso de control.
<%@ 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>
Comentarios
Un valor de -1 indica que se debe usar el peso predeterminado del elemento. La clase heredada debe invalidar esta propiedad. Para obtener más información sobre cómo invalidar esta propiedad, vea Compatibilidad con paginación.