Form.ControlToPaginate 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 ou define o controle no formulário que pode ser paginado. O padrão é null
(Nothing
no Visual Basic). Esta API está obsoleta. Para obter informações sobre como desenvolver aplicativos móveis ASP.NET, consulte Aplicativos Móveis & Sites com ASP.NET.
public:
property System::Web::UI::Control ^ ControlToPaginate { System::Web::UI::Control ^ get(); void set(System::Web::UI::Control ^ value); };
[System.ComponentModel.Bindable(false)]
[System.ComponentModel.Browsable(false)]
public System.Web.UI.Control ControlToPaginate { get; set; }
[<System.ComponentModel.Bindable(false)>]
[<System.ComponentModel.Browsable(false)>]
member this.ControlToPaginate : System.Web.UI.Control with get, set
Public Property ControlToPaginate As Control
Valor da propriedade
O controle no formulário que pode ser paginado.
- Atributos
Exemplos
O exemplo de código a seguir demonstra como usar a ControlToPaginate propriedade da Form classe para especificar qual controle paginar.
O exemplo cria uma página com dois formulários. Um formulário tem uma cadeia de caracteres muito longa que em alguns dispositivos deve ser paginada para dar ao usuário acesso ao texto inteiro. Para ver a paginação em ação, você deve exibir o exemplo em um dispositivo que manipula a paginação. No Visual Studio 2005, você pode usar um dos emuladores de dispositivo disponíveis com o Gerenciador de Emuladores de Dispositivos no menu Ferramentas .
Observação
O exemplo de código a seguir usa o modelo de código de arquivo único e pode não funcionar corretamente se copiado diretamente em um arquivo code-behind. Este exemplo de código deve ser copiado em um arquivo de texto vazio que tenha uma extensão .aspx. Para obter mais informações, consulte Visão geral da sintaxe da página ASP.NET Web Forms.
<%@ Page Language="C#"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile"
Namespace="System.Web.UI.MobileControls"
Assembly="System.Web.Mobile" %>
<%@ Import Namespace="System.Web.UI.MobileControls" %>
<%@ Import Namespace="System.Drawing" %>
<script Runat="server">
//<Snippet7>
void Form_Activate(object sender, EventArgs e)
{
Form1.Wrapping = Wrapping.NoWrap;
string a = "This is a very long string <br />";
string b = "START ";
// Create a long string to force pagination
for (int i = 0; i < 100; i++)
b += a;
txtView.Text = b + " END";
Form1.ControlToPaginate = txtView;
}
//</Snippet7>
//<Snippet5>
void Form_Paginated(object sender, EventArgs e)
{
// Set the background color based on
// the number of pages
if (ActiveForm.PageCount > 1)
ActiveForm.BackColor = Color.LightBlue;
else
ActiveForm.BackColor = Color.LightGray;
// Check to see if the Footer template has been chosen
if (DevSpec.HasTemplates)
{
System.Web.UI.MobileControls.Label lbl = null;
// Get the Footer panel
System.Web.UI.MobileControls.Panel pan = Form1.Footer;
// Get the Label from the panel
lbl = (System.Web.UI.MobileControls.Label)pan.FindControl("lblCount");
// Set the text in the Label
lbl.Text = "Page #" + Form1.CurrentPage.ToString();
}
}
//</Snippet5>
//<Snippet6>
void Page_Load(object sender, EventArgs e)
{
// Set the pager text properties
if (!IsPostBack)
Form1.PagerStyle.NextPageText = "Go Next >";
else
{
// For postback, set different text
Form1.PagerStyle.NextPageText = "Go More >";
Form1.PagerStyle.PreviousPageText = "< Go Prev";
}
}
//</Snippet6>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<!-- The first Form -->
<mobile:Form ID="Form1" Runat="server"
Paginate="true" OnActivate="Form_Activate"
OnPaginated="Form_Paginated">
<mobile:link ID="Link1" Runat="server"
NavigateUrl="#Form2">
Go To Other Form
</mobile:link>
<mobile:Label ID="Label1" Runat="server">
Welcome to ASP.NET
</mobile:Label>
<mobile:textview ID="txtView" Runat="server" />
<mobile:DeviceSpecific ID="DevSpec" Runat="server">
<Choice>
<FooterTemplate>
<mobile:Label runat="server" id="lblCount" />
</FooterTemplate>
</Choice>
</mobile:DeviceSpecific>
</mobile:Form>
<!-- The second Form -->
<mobile:Form ID="Form2" Runat="server"
Paginate="true" OnPaginated="Form_Paginated">
<mobile:Label ID="message2" Runat="server">
Welcome to ASP.NET
</mobile:Label>
<mobile:link ID="Link2" Runat="server"
NavigateUrl="#Form1">Back</mobile:link>
</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.Web.UI.MobileControls" %>
<%@ Import Namespace="System.Drawing" %>
<script runat="server">
'<Snippet7>
Private Sub Form_Activate(ByVal sender As Object, _
ByVal e As EventArgs)
Form1.Wrapping = Wrapping.NoWrap
Dim a As String = "This is a very long string <br />"
Dim b As String = "START "
Dim i As Integer
' Create a long string to force pagination
For i = 0 To 100
b &= a
Next
txtView.Text = b & " END"
Form1.ControlToPaginate = txtView
End Sub
'</Snippet7>
'<Snippet5>
Private Sub Form_Paginated(ByVal sender As Object, _
ByVal e As EventArgs)
' Set the background color based on
' the number of pages
If ActiveForm.PageCount > 1 Then
ActiveForm.BackColor = Color.LightBlue
Else
ActiveForm.BackColor = Color.LightGray
End If
' Check to see if the Footer template has been chosen
If DevSpec.HasTemplates Then
Dim lbl As System.Web.UI.MobileControls.Label
' Get the Footer panel
Dim pan As System.Web.UI.MobileControls.Panel = Form1.Footer
' Get the Label from the panel
lbl = CType(pan.FindControl("lblCount"), System.Web.UI.MobileControls.Label)
' Set the text in the Label
lbl.Text = "Page #" + Form1.CurrentPage.ToString()
End If
End Sub
'</Snippet5>
'<Snippet6>
Private Sub Page_Load(ByVal sender As Object, _
ByVal e As EventArgs)
' Set the pager text properties
If Not IsPostBack Then
Form1.PagerStyle.NextPageText = "Go Next >"
Else
' For postback, set different text
Form1.PagerStyle.NextPageText = "Go More >"
Form1.PagerStyle.PreviousPageText = "< Go Prev"
End If
End Sub
'</Snippet6>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<!-- The first Form -->
<mobile:Form ID="Form1" Runat="server"
Paginate="true" OnActivate="Form_Activate"
OnPaginated="Form_Paginated">
<mobile:link ID="Link1" Runat="server"
NavigateUrl="#Form2">
Go To Other Form
</mobile:link>
<mobile:Label ID="Label1" Runat="server">
Welcome to ASP.NET
</mobile:Label>
<mobile:textview ID="txtView" Runat="server" />
<mobile:DeviceSpecific ID="DevSpec" Runat="server">
<Choice>
<FooterTemplate>
<mobile:Label runat="server" id="lblCount" />
</FooterTemplate>
</Choice>
</mobile:DeviceSpecific>
</mobile:Form>
<!-- The second Form -->
<mobile:Form ID="Form2" Runat="server"
Paginate="true" OnPaginated="Form_Paginated">
<mobile:Label ID="message2" Runat="server">
Welcome to ASP.NET
</mobile:Label>
<mobile:link ID="Link2" Runat="server"
NavigateUrl="#Form1">Back</mobile:link>
</mobile:Form>
</body>
</html>
Comentários
A ControlToPaginate propriedade é usada para permitir que um único controle em um formulário pagine seu conteúdo em várias exibições em dispositivos móveis e forneça navegação próxima e anterior entre exibições. Um controle pode paginar seu conteúdo mesmo se um controle que contém Panel tiver sua Paginate propriedade definida como false
.