DataList クラス

テンプレートを使用して項目を表示するデータ連結リスト コントロール。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
<ControlValuePropertyAttribute("SelectedValue")> _
Public Class DataList
    Inherits BaseDataList
    Implements INamingContainer, IRepeatInfoUser
'使用
Dim instance As DataList
[ControlValuePropertyAttribute("SelectedValue")] 
public class DataList : BaseDataList, INamingContainer, IRepeatInfoUser
[ControlValuePropertyAttribute(L"SelectedValue")] 
public ref class DataList : public BaseDataList, INamingContainer, IRepeatInfoUser
/** @attribute ControlValuePropertyAttribute("SelectedValue") */ 
public class DataList extends BaseDataList implements INamingContainer, IRepeatInfoUser
ControlValuePropertyAttribute("SelectedValue") 
public class DataList extends BaseDataList implements INamingContainer, IRepeatInfoUser
適用できません。

解説

DataList コントロールを使用して、テンプレート定義のデータ連結リストを表示します。DataList コントロールは選択と編集をサポートします。

DataList コントロールの内容は、テンプレートを使用して操作できます。サポートしているテンプレートの一覧を次の表に示します。

テンプレート名

説明

AlternatingItemTemplate

このテンプレートを定義すると、DataList の交互の項目の内容とレイアウトが提供されます。定義しない場合は、ItemTemplate が使用されます。

EditItemTemplate

このテンプレートを定義すると、DataList 内の現在編集中の項目の内容とレイアウトが提供されます。定義しない場合は、ItemTemplate が使用されます。

FooterTemplate

このテンプレートを定義すると、DataList のフッター セクションの内容とレイアウトが提供されます。定義しない場合は、フッター セクションが表示されません。

HeaderTemplate

このテンプレートを定義すると、DataList のヘッダー セクションの内容とレイアウトが提供されます。定義しない場合は、ヘッダー セクションが表示されません。

ItemTemplate

DataList 内の項目の内容とレイアウトを提供する、目的のテンプレート。

SelectedItemTemplate

このテンプレートを定義すると、DataList で現在選択されている項目の内容とレイアウトが提供されます。定義しない場合は、ItemTemplate が使用されます。

SeparatorTemplate

このテンプレートを定義すると、DataList 内の項目間の区切り記号の内容とレイアウトが提供されます。定義しない場合は、区切り記号が表示されません。

少なくとも、DataList コントロールに項目が表示されるように ItemTemplate を定義する必要があります。追加テンプレートを使用して、DataList コントロールの外観をカスタマイズできます。

DataList コントロールの外観は、コントロールのさまざまな部分に対してスタイル プロパティを設定することによってカスタマイズできます。さまざまなスタイル プロパティの一覧を次の表に示します。

スタイル プロパティ

説明

AlternatingItemStyle

DataList コントロールの交互の項目のスタイルを指定します。

EditItemStyle

DataList コントロールの編集中の項目のスタイルを指定します。

FooterStyle

DataList コントロールのフッターのスタイルを指定します。

HeaderStyle

DataList コントロールのヘッダーのスタイルを指定します。

ItemStyle

DataList コントロールの項目のスタイルを指定します。

SelectedItemStyle

DataList コントロール内の選択された項目のスタイルを指定します。

SeparatorStyle

DataList コントロールの項目間の区切り記号のスタイルを指定します。

コントロールのさまざまな部分を表示または非表示にすることもできます。表示または非表示にする部分を制御するプロパティの一覧を次の表に示します。

プロパティ

説明

ShowFooter

DataList コントロールのフッター セクションを表示または非表示にします。

ShowHeader

DataList コントロールのヘッダー セクションを表示または非表示にします。

DataList コントロールの表示方向には、垂直または水平を選択できます。RepeatDirection プロパティを設定して、表示方向を指定します。

DataList コントロールのレイアウトは、RepeatLayout プロパティで制御します。このプロパティを RepeatLayout.Table に設定すると DataList がテーブル形式で表示され、RepeatLayout.Flow に設定すると DataList がテーブル構造を使用せずに表示されます。

注意に関するメモ注意 :

このコントロールは、ユーザー入力を表示するために使用できます。ユーザー入力には悪意のあるクライアント スクリプトが含まれている可能性があります。アプリケーションに表示する前に、クライアントから送信された実行スクリプト、SQL ステートメントなどのコードの情報はすべて検証してください。入力テキストをコントロールに表示する前に、検証コントロールを使用してユーザー入力を検証できます。ASP.NET には入力要求の検証機能があり、ユーザー入力の中のスクリプトおよび HTML をブロックできます。詳細については、「標準コントロールのセキュリティ保護」、「方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する」、および「ASP.NET Web ページにおけるユーザー入力の検証」を参照してください。

トピック 場所
方法 : ASP.NET Web サーバー コントロールのテンプレートを作成する ASP .NET Web アプリケーションの作成
チュートリアル : DataList Web サーバー コントロールを使用したデータの表示および書式指定 Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : XML データを表示する Web ページの作成 Visual Studio での ASP .NET Web アプリケーションの作成
方法 : DataList Web サーバー コントロールを ASP.NET Web ページに追加する (Visual Studio) Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : 変換による Web フォーム ページへの XML ドキュメントの表示 Visual Studio での ASP .NET Web アプリケーションの作成
方法 : デザイナを使用して Web サーバー コントロール テンプレートを作成する Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での ASP.NET マスタ ページの作成と使用 Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Studio でのマスター/詳細 Web ページの作成 Visual Studio での ASP .NET Web アプリケーションの作成
方法 : Visual Studio でテンプレート コントロールにデータをバインドする Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での ASP.NET マスタ ページの作成と使用 Visual Web Developer でのアプリケーションの作成
チュートリアル : Visual Studio でのマスター/詳細 Web ページの作成 Visual Web Developer でのアプリケーションの作成
方法 : DataList Web サーバー コントロールの項目を動的にカスタマイズする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を削除できるようにする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールのテンプレートを宣言によって作成する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList Web サーバー コントロールに横または縦のレイアウトを指定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web ページにコントロールをプログラムによって追加する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : DataList Web サーバー コントロールを使用したデータの表示および書式指定 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : デザイナを使用して Web サーバー コントロール テンプレートを作成する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールのテンプレートを動的に作成する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を編集できるようにする Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : XML データを表示する Web ページの作成 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : テンプレート コントロールにデータを連結する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング
 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を選択できるようにする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList Web サーバー コントロールを ASP.NET Web ページに追加する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList 項目を実行時にカスタマイズする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Visual Studio でテンプレート コントロールにデータをバインドする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : データ バインド コントロールのボタン イベントに応答する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList Web サーバー コントロールでフローまたは表の形式を指定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList 項目または Repeater 項目のボタン イベントに応答する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : 変換による Web フォーム ページへの XML ドキュメントの表示 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList Web サーバー コントロールの項目を動的にカスタマイズする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を削除できるようにする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールのテンプレートを宣言によって作成する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList Web サーバー コントロールに横または縦のレイアウトを指定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web ページにコントロールをプログラムによって追加する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : DataList Web サーバー コントロールを使用したデータの表示および書式指定 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : デザイナを使用して Web サーバー コントロール テンプレートを作成する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールのテンプレートを動的に作成する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を編集できるようにする Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : XML データを表示する Web ページの作成 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : テンプレート コントロールにデータを連結する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング
 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を選択できるようにする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList Web サーバー コントロールを ASP.NET Web ページに追加する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList 項目を実行時にカスタマイズする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Visual Studio でテンプレート コントロールにデータをバインドする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : データ バインド コントロールのボタン イベントに応答する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList Web サーバー コントロールでフローまたは表の形式を指定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList 項目または Repeater 項目のボタン イベントに応答する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : 変換による Web フォーム ページへの XML ドキュメントの表示 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : DataList Web サーバー コントロールの項目を動的にカスタマイズする ASP .NET Web アプリケーションの作成
方法 : DataList コントロールを ASP.NET Web ページに追加する ASP .NET Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を削除できるようにする ASP .NET Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールのテンプレートを宣言によって作成する ASP .NET Web アプリケーションの作成
方法 : DataList Web サーバー コントロールに横または縦のレイアウトを指定する ASP .NET Web アプリケーションの作成
方法 : ASP.NET Web ページにコントロールをプログラムによって追加する ASP .NET Web アプリケーションの作成
方法 : ASP.NET Web サーバー コントロールのテンプレートを動的に作成する ASP .NET Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を編集できるようにする ASP .NET Web アプリケーションの作成
方法 : テンプレート コントロールにデータを連結する ASP .NET Web アプリケーションの作成
方法 : ユーザーが DataList Web サーバー コントロール内の項目を選択できるようにする ASP .NET Web アプリケーションの作成
方法 : DataList 項目を実行時にカスタマイズする ASP .NET Web アプリケーションの作成
方法 : データ バインド コントロールのボタン イベントに応答する ASP .NET Web アプリケーションの作成
方法 : DataList Web サーバー コントロールでフローまたは表の形式を指定する ASP .NET Web アプリケーションの作成
方法 : DataList 項目、Repeater 項目、または GridView 項目のボタン イベントに応答する ASP .NET Web アプリケーションの作成

使用例

DataList コントロールを使用して、データ ソースの項目リストを表示する方法のコード例を次に示します。

メモメモ :

次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「ASP.NET Web ページのコード モデル」を参照してください。

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">
 
      Function CreateDataSource() As ICollection 
      
         ' Create sample data for the DataList control.
         Dim dt As DataTable = New DataTable()
         dim dr As DataRow
 
         ' Define the columns of the table.
         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
         dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
         dt.Columns.Add(New DataColumn("ImageValue", GetType(String)))
 
         ' Populate the table with sample values.
         Dim i As Integer

         For i = 0 To 8 

            dr = dt.NewRow()
 
            dr(0) = i
            dr(1) = "Description for item " & i.ToString()
            dr(2) = 1.23 * (i + 1)
            dr(3) = "Image" & i.ToString() & ".jpg"
 
            dt.Rows.Add(dr)

         Next i
 
         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function
 
      Sub Page_Load(sender As Object, e As EventArgs) 

         ' Load sample data only once, when the page is first loaded.
         If Not IsPostBack Then 
     
            ItemsList.DataSource = CreateDataSource()
            ItemsList.DataBind()
         
         End If

      End Sub
 
   </script>
 
<head runat="server">
    <title>DataList Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Example</h3>
 
      <asp:DataList id="ItemsList"
           BorderColor="black"
           CellPadding="5"
           CellSpacing="5"
           RepeatDirection="Vertical"
           RepeatLayout="Table"
           RepeatColumns="3"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            List of items

         </HeaderTemplate>
               
         <ItemTemplate>

            Description: <br />
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

            <br />

            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>

            <br />

            <asp:Image id="ProductImage" AlternateText="Product picture" 
                 ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                 runat="server"/>

         </ItemTemplate>
 
      </asp:DataList>
 
   </form>
 
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">
 
      ICollection CreateDataSource() 
      {
      
         // Create sample data for the DataList control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
         dt.Columns.Add(new DataColumn("ImageValue", typeof(String)));
 
         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Description for item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
            dr[3] = "Image" + i.ToString() + ".jpg";
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
 
      void Page_Load(Object sender, EventArgs e) 
      {

         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack) 
         {
            ItemsList.DataSource = CreateDataSource();
            ItemsList.DataBind();
         }

      }
 
   </script>
 
<head runat="server">
    <title>DataList Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Example</h3>
 
      <asp:DataList id="ItemsList"
           BorderColor="black"
           CellPadding="5"
           CellSpacing="5"
           RepeatDirection="Vertical"
           RepeatLayout="Table"
           RepeatColumns="3"
           runat="server">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            List of items

         </HeaderTemplate>
               
         <ItemTemplate>

            Description: <br />
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

            <br />

            Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>

            <br />

            <asp:Image id="ProductImage" AlternateText="Product picture" 
                 ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
                 runat="server"/>

         </ItemTemplate>
 
      </asp:DataList>
 
   </form>
 
</body>
</html>

.NET Framework のセキュリティ

  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)要求値 : LinkDemand; アクセス許可値 : Minimal
  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)要求値 : InheritanceDemand; アクセス許可値 : Minimal

継承階層

System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
       System.Web.UI.WebControls.BaseDataList
        System.Web.UI.WebControls.DataList

スレッド セーフ

この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

DataList メンバ
System.Web.UI.WebControls 名前空間
BaseDataList
DataGrid
Repeater

その他の技術情報

DataList Web サーバー コントロール
標準コントロールのセキュリティ保護
方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する
ASP.NET Web ページにおけるユーザー入力の検証
ASP.NET Web ページのコード モデル