List クラス
アセンブリ: System.Web.Mobile (system.web.mobile.dll 内)

Public Class List Inherits PagedControl Implements INamingContainer, ITemplateable, IPostBackEventHandler

このコントロールは、デバイス テンプレート セットと内部的な改ページ位置の自動修正の使用により、テンプレート レンダリングをサポートしています。詳細については、ASP.NET デバイスのフィルタ処理の概要、改ページ調整 の各トピックを参照してください。

配列を使用して List オブジェクトをバインドし、項目を格納するコード例を次に示します。List オブジェクトの DataTextField プロパティと DataValueField プロパティはプログラムによって設定できます。
<%@ Page Language="VB" Inherits="System.Web.UI.MobileControls.MobilePage" %> <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %> <script runat="server"> ' Persist across multiple postbacks. Private Shared doneCount, schedCount, pendCount As Integer Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Set the DataMembers of the List List1.DataValueField = "Status" List1.DataTextField = "TaskName" ' Create an ArrayList of task data Dim arr As ArrayList = New ArrayList() arr.Add(New Task("Define transactions", "scheduled")) arr.Add(New Task("Verify transactions", "scheduled")) arr.Add(New Task("Check balance sheet", "scheduled")) arr.Add(New Task("Compile balance sheet", "scheduled")) arr.Add(New Task("Prepare report", "scheduled")) arr.Add(New Task("Send report", "scheduled")) ' Bind the array to the list List1.DataSource = arr List1.DataBind() Const spec As String = "Start: {0} tasks are done, {1} " & _ "tasks are scheduled, and {2} tasks are pending." Label2.Text = String.Format(spec, doneCount, _ schedCount, pendCount) List1.Decoration = ListDecoration.Bulleted End If End Sub Private Sub Status_ItemCommand(ByVal sender As Object, _ ByVal e As ListCommandEventArgs) Const spec As String = "You now have {0} tasks done, {1} " & _ "tasks scheduled, and {2} tasks pending." ' Move selection to next status toward 'done' Select Case e.ListItem.Value Case "scheduled" schedCount -= 1 pendCount += 1 e.ListItem.Value = "pending" Case "pending" pendCount -= 1 doneCount += 1 e.ListItem.Value = "done" End Select ' Show the status of the current task Label1.Text = e.ListItem.Text & " is " & _ e.ListItem.Value ' Show current selection counts Label2.Text = String.Format(spec, doneCount, _ schedCount, pendCount) End Sub Private Sub Status_DataBinding(ByVal sender As Object, _ ByVal e As ListDataBindEventArgs) ' Increment initial counts Select Case e.ListItem.Value Case "done" doneCount += 1 Case "scheduled" schedCount += 1 Case "pending" pendCount += 1 End Select End Sub ' Custom class for the ArrayList items Private Class Task Private _TaskName, _Status As String Public Sub New(ByVal TaskName As String, _ ByVal Status As String) _TaskName = TaskName _Status = Status End Sub Public ReadOnly Property TaskName() As String Get Return _TaskName End Get End Property Public ReadOnly Property Status() As String Get Return _Status End Get End Property End Class </script> <html > <body> <mobile:form id="form1" runat="server"> <mobile:Label ID="Label3" Runat="server"> Click a task to change its status from scheduled to pending or from pending to done: </mobile:Label> <mobile:List runat="server" id="List1" OnItemCommand="Status_ItemCommand" OnItemDataBind="Status_DataBinding" /> <mobile:Label runat="server" id="Label1" ForeColor="green" Font-Italic="true" /> <mobile:Label id="Label2" 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" %> <script runat="server"> ' Persist across multiple postbacks. Private Shared doneCount, schedCount, pendCount As Integer Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Set the DataMembers of the List List1.DataValueField = "Status" List1.DataTextField = "TaskName" ' Create an ArrayList of task data Dim arr As ArrayList = New ArrayList() arr.Add(New Task("Define transactions", "scheduled")) arr.Add(New Task("Verify transactions", "scheduled")) arr.Add(New Task("Check balance sheet", "scheduled")) arr.Add(New Task("Compile balance sheet", "scheduled")) arr.Add(New Task("Prepare report", "scheduled")) arr.Add(New Task("Send report", "scheduled")) ' Bind the array to the list List1.DataSource = arr List1.DataBind() Const spec As String = "Start: {0} tasks are done, {1} " & _ "tasks are scheduled, and {2} tasks are pending." Label2.Text = String.Format(spec, doneCount, _ schedCount, pendCount) List1.Decoration = ListDecoration.Bulleted End If End Sub Private Sub Status_DataBinding(ByVal sender As Object, _ ByVal e As ListDataBindEventArgs) ' Increment initial counts Select Case e.ListItem.Value Case "done" doneCount += 1 Case "scheduled" schedCount += 1 Case "pending" pendCount += 1 End Select End Sub Private Sub Status_ItemCommand(ByVal sender As Object, _ ByVal e As ListCommandEventArgs) Const spec As String = "You now have {0} tasks done, {1} " & _ "tasks scheduled, and {2} tasks pending." ' Move selection to next status toward 'done' Select Case e.ListItem.Value Case "scheduled" schedCount -= 1 pendCount += 1 e.ListItem.Value = "pending" Case "pending" pendCount -= 1 doneCount += 1 e.ListItem.Value = "done" End Select ' Show the status of the current task Label1.Text = e.ListItem.Text & " is " & _ e.ListItem.Value ' Show current selection counts Label2.Text = String.Format(spec, doneCount, _ schedCount, pendCount) End Sub ' Custom class for the ArrayList items Private Class Task Private _TaskName, _Status As String Public Sub New(ByVal TaskName As String, _ ByVal Status As String) _TaskName = TaskName _Status = Status End Sub Public ReadOnly Property TaskName() As String Get Return _TaskName End Get End Property Public ReadOnly Property Status() As String Get Return _Status End Get End Property End Class </script> <html > <body> <mobile:form id="form1" runat="server"> <mobile:Label ID="Label3" Runat="server"> Click a task to change its status from scheduled to pending or from pending to done: </mobile:Label> <mobile:List runat="server" id="List1" OnItemCommand="Status_ItemCommand" OnItemDataBind="Status_DataBinding" /> <mobile:Label runat="server" id="Label1" ForeColor="green" Font-Italic="true" /> <mobile:Label id="Label2" runat="server" /> </mobile:form> </body> </html>


System.Web.UI.Control
System.Web.UI.MobileControls.MobileControl
System.Web.UI.MobileControls.PagedControl
System.Web.UI.MobileControls.List


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- List クラスのページへのリンク