ASP.NET DataListのホームへ戻る

DataListArrayListをバインドするには

 

  DataListArrayListをバインドするサンプル

 

DataListArrayListをバインドするサンプル

 

このサンプルは、DataListArrayListをバインドしています。DataListHeaderTemplate, ItemTemplate, FooterTemplateを使用してヘッダ、アイテム、フッタを表示しています。

 

このサンプルでは、以下のノウハウを習得することができます。

 

   ArrayListListItemを追加する方法

   ListBoxArrayListをバインドする方法

   ListBoxHeaderTemplate/ItemTemplate/FooterTemplateの使い方

   ListItemText/Valueプロパティを表示する方法(Container.DataItem)

   ListItemText/Valueプロパティをフォーマットして表示する方法(DataBinder.Eval)

 

このサンプルでは、DataListArrayListをバインドさせて表示しています。ArrayListListItemを追加するには、ArrayListAdd()メソッドを使用します。ListItemを生成するには、New ListItem(“Text”, “Value”)のように記述します。ListItemの引数には、Text/Valueプロパティを指定します。このサンプルでは、TextVisual Studio .NETの言語名(Visual Basic .NET)を設定しています。Valueには、略称(VB.NET)を設定しています。ArrayListDataListにバインドするには、DataListDataSourceプロパティにArrayListを設定してDataBind()メソッドを実行します。

 

  4:     Dim arrVsNet As New ArrayList()
  5:     With arrVsNet
  6:       .Add(New ListItem("Visual Basic .NET","VB.NET"))
  7:       .Add(New ListItem("Visual C++ .NET","C++.NET"))
  8:       .Add(New ListItem("Visual C# .NET","C#.NET"))
  9:       .Add(New ListItem("Visial J# .NET","J#.NET"))
 10:     End With
 11:     dlstVsNet.DataSource = arrVsNet
 12:     dlstVsNet.DataBind()

 

DataListにバインドされたArrayListを表示するには、ItemTemplateを使用します。たとえば、ArrayListに格納されているListItemText/Valueプロパティを表示するには、Data Binding Expressionを使用してContainer.DataItem.Text, Container.DataItem.Valueのように記述します。Text/Valueをフォーマットして表示するには、DataBinderクラスのEval()メソッドを使用します。

 

<%# DataBinder.Eval(Container.DataItem,”Text”) %>

<%# DataBinder.Eval(Container.DataItem, “Value”,”(<b>{0:d}</b>)”) %>

 

Data Binding Expressionは、<%#....%>タグ内に記述します。行20-22では、HeaderTemplateでヘッダ情報(Visual Basic .NET)を表示しています。行23-26では、ItemTemplateArrayListに格納されているListItemText/Valueプロパティを表示しています。行27-29では、FooterTemplateでフッタ情報(--以上--)を表示しています。

 

19: <asp:DataList id="dlstVsNet" runat="server">
 20:   <HeaderTemplate>
 21:     <b>Visual Studio .NET</b>
 22:   </HeaderTemplate>
 23:   <ItemTemplate>
 24:     <%# Container.DataItem.Text %>
 25:     (<b><%# Container.DataItem.Value %></b>)
 26:   </ItemTemplate>
 27:   <FooterTemplate>
 28:     <b>--
以上--</b>
 29:   </FooterTemplate>
 30: </asp:DataList>

 

 

ArrayListListItemの代わりに直接言語名を追加したときは、Data Binding ExpressionContainer.DataItemのように記述します。

 

arrVsNet.Add(“Visual Basic .NET”)

<%# Container.DataItem %>

ASP.NET DataListのホームへ戻る