TextView.LoadItems Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit lorsqu'un contrôle est paginé de manière personnalisée et nécessite davantage de données. Cette API est obsolète. Pour plus d’informations sur le développement d’applications mobiles ASP.NET, consultez Mobile Apps & Sites avec ASP.NET.
public:
event System::Web::UI::MobileControls::LoadItemsEventHandler ^ LoadItems;
[System.ComponentModel.Browsable(false)]
public event System.Web.UI.MobileControls.LoadItemsEventHandler LoadItems;
[<System.ComponentModel.Browsable(false)>]
member this.LoadItems : System.Web.UI.MobileControls.LoadItemsEventHandler
Public Custom Event LoadItems As LoadItemsEventHandler
Type d'événement
- Attributs
Exemples
L’exemple de code suivant montre comment créer une pagination personnalisée et appeler la LoadItems méthode pour charger un nombre spécifié d’éléments par page.
Notes
L’exemple de code suivant utilise le modèle de code à fichier unique et peut ne pas fonctionner correctement s’il est copié directement dans un fichier code-behind. Cet exemple de code doit être copié dans un fichier texte vide qui a une extension .aspx. Pour plus d’informations, consultez ASP.NET modèle de code de page Web Forms.
<%@ Page Language="C#"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<script runat="server">
// Returns an array of Boolean values
private bool[] TestPrimes(int from, int howMany)
{
// Test a range of numbers to determine which are prime.
bool[] isPrime = new bool[howMany];
int endAt = from + howMany - 1;
for (int i = from; i < endAt; i++)
{ // Set a default value of true
isPrime[i - from] = true;
int sqrt = (int)Math.Sqrt(i);
for (int factor = 2; factor <= sqrt; factor++)
{
if ((i % factor) == 0)
{ // Set value as false
isPrime[i - from] = false;
break;
}
}
}
return isPrime;
}
//<Snippet2>
protected void Page_Load(object sender, EventArgs args)
{
if (!IsPostBack)
{
Primes.ItemCount = 2000;
Primes.ItemsPerPage = 20;
form1.ControlToPaginate = Primes;
}
}
//</Snippet2>
protected void Primes_OnLoadItems(object sender, LoadItemsEventArgs args)
{
StringBuilder StrBldr = new StringBuilder();
Primes.Text = "";
// Start the list at 2.
int startNumber = args.ItemIndex + 2;
bool[] isPrime;
isPrime = TestPrimes(startNumber, args.ItemCount);
for (int i = 0; i < args.ItemCount; i++)
{
string message;
if (isPrime[i])
message = String.Format("<b>{0} is prime</b>",
i + startNumber);
else
message = String.Format("<b>{0}</b> is not prime",
i + startNumber);
StrBldr.Append(message);
StrBldr.Append("<br />");
}
Primes.Text = StrBldr.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:form id="form1" runat="server" paginate="true">
<mobile:TextView id="Primes" runat="server"
OnLoadItems="Primes_OnLoadItems" />
</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" %>
<script runat="server">
' Returns an array of Boolean values
Private Function TestPrimes(ByVal [from] As Integer, ByVal howMany As Integer) As Boolean()
' Test a range of numbers to determine which are prime.
Dim isPrime(howMany - 1) As Boolean
Dim endAt As Integer = From + howMany - 1
For i As Integer = From To endAt - 1
isPrime(i - From) = True
Dim sqrt As Integer = CInt(Fix(Math.Sqrt(i)))
For factor As Integer = 2 To sqrt
If (i Mod factor) = 0 Then
isPrime(i - From) = False
Exit For
End If
Next factor
Next i
Return isPrime
End Function
'<Snippet2>
Protected Sub Page_Load(ByVal sender As Object, ByVal args As EventArgs)
If Not IsPostBack Then
Primes.ItemCount = 2000
Primes.ItemsPerPage = 20
form1.ControlToPaginate = Primes
End If
End Sub
'</Snippet2>
Protected Sub Primes_OnLoadItems(ByVal sender As Object, ByVal args As LoadItemsEventArgs)
Dim StrBldr As New StringBuilder()
Primes.Text = ""
' Start the list at 2.
Dim startNumber As Integer = args.ItemIndex + 2
Dim isPrime() As Boolean
isPrime = TestPrimes(startNumber, args.ItemCount)
For i As Integer = 0 To args.ItemCount - 1
Dim message As String
If isPrime(i) Then
message = String.Format("<b>{0} is prime</b>", i + startNumber)
Else
message = String.Format("<b>{0}</b> is not prime", i + startNumber)
End If
StrBldr.Append(message)
StrBldr.Append("<br />")
Next i
Primes.Text = StrBldr.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<mobile:form id="form1" runat="server" paginate="true">
<mobile:TextView id="Primes" runat="server"
OnLoadItems="Primes_OnLoadItems" />
</mobile:form>
</body>
</html>
Remarques
Lorsque le contrôle est paginé personnalisé, vous ne liez pas explicitement le contrôle. Après la pagination, le contrôle déclenche cet événement, indiquant la partie des données requise. L’application peut gérer cet événement et lier le contrôle aux données requises.