Listコントロール
Listは、SelectionListと同じようにアイテムを表示させて選択することができます。Listには、ページング機能がサポートされていますのでアイテム数の多いリストを表示するのに適しています。Listは、SelectionListと異なり単独でフォームをポストバックさせることができます。Listから選択したアイテムを取得するには、OnItemCommandイベントを登録して取得します。OnItemCommandイベントを登録すると、ItemsAsLinksがTrueに設定されてアイテムがハイパーリンクとして表示されます。
書式:
<mobile:List id=”String” runat=”server”
DataMember=”String”
DataSource=”Object”
DataTextField=”String”
DataValueField=”String”
Decoration=”{None|Bulleted|Numbered}”
ItemsAsLinks=”{False|True}”
ItemCount=”Int32”
OnItemDataBind=”Eventhandler”
OnItemCommand=”Eventhandler”
OnLoadItems=”Eventhandler”>
<Item Text=”String” Value=”String” Selected=”{False|True}” />
</mobile:List>
● Listに表示するアイテムをデザイン時に定義するサンプル


図 Listに表示するアイテムをデザイン時に定義するサンプル
このサンプルは、Listに表示するアイテムをデザイン時に定義しています。ListにOnItemCommandを登録すると、アイテムがハイパーリンクとして表示されます。アイテムを選択すると、フォームがポストバックされてOnItemCommandイベントに制御が渡ります。OnItemCommandイベントで、選択したアイテムを取得するには、ListCommandEventArgsのListItemプロパティを参照します。ListItemには、選択したアイテム(MobileListItem)が格納されています。選択したアイテムのText/Valueの値は、MobileListItemのText/Valueプロパティに格納されています。
e.ListItem.Text è VB.NET
e.ListItem.Value è Visulal Basic .NET
● Listに表示するアイテムをランタイム時に追加するサンプル


図 Listに表示するアイテムをランタイム時に追加するサンプル
このサンプルは、Listに表示するアイテムをランタイム時に追加しています。サンプルの行57-59では、Listコントロールを定義しています。
56: <mobile:Form id="frmList" runat="server"
Paginate="True">
57: <mobile:List
id="lstSelectType" runat="server"
58: StyleReference="List"
59:
OnItemCommand="lstSelectType_ItemCommand" />
60: </mobile:Form>
Page_Loadイベントの行11-13では、ページが最初にロードされたときSub FillListWithEnum()を呼び出して、Listにアイテムを追加しています。FillListWithEnum()では、SelectionListのSelectTypeプロパティのEnum(ListSelectType)から名前と値を取得して、Listのアイテムに追加しています。FillListWithEnum()の行22-24を解りやすく記述すると次のようになります。
item = New MobileListItem(“DropDown”, “0”)
list.Items.Add(item)
Listからアイテムを選択するとフォームがポストバックされてOnItemCommandイベントに制御が渡ります。このイベントの行30では、Listから選択アイテム(MobileListItem)のValueを取得してSelectionListのSelectTypeプロパティに設定しています。行31では、Sub BindSelectionList()を呼び出してSelectionListにデータベースのtblVsDotNetテーブルをバインドしています。行32では、MobilePageクラスのActiveFromプロパティにfrmSelectionListのフォームを設定してSelectionListを表示しています。
29: Sub lstSelectType_ItemCommand(s As Object, e As
ListCommandEventArgs)
30: slstVsNet.SelectType =
CType(e.ListItem.Value, ListSelectType)
31: BindSelectionList()
32: ActiveForm = frmSelectionList
33: End Sub



図 frmSelectionListのフォームに表示されたSelectionListの例(Dropdow/Radio/CheckBoxの順)