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 コントロールの内容は、テンプレートを使用して操作できます。サポートしているテンプレートの一覧を次の表に示します。
テンプレート名 |
説明 |
---|---|
このテンプレートを定義すると、DataList の交互の項目の内容とレイアウトが提供されます。定義しない場合は、ItemTemplate が使用されます。 |
|
このテンプレートを定義すると、DataList 内の現在編集中の項目の内容とレイアウトが提供されます。定義しない場合は、ItemTemplate が使用されます。 |
|
このテンプレートを定義すると、DataList のフッター セクションの内容とレイアウトが提供されます。定義しない場合は、フッター セクションが表示されません。 |
|
このテンプレートを定義すると、DataList のヘッダー セクションの内容とレイアウトが提供されます。定義しない場合は、ヘッダー セクションが表示されません。 |
|
DataList 内の項目の内容とレイアウトを提供する、目的のテンプレート。 |
|
このテンプレートを定義すると、DataList で現在選択されている項目の内容とレイアウトが提供されます。定義しない場合は、ItemTemplate が使用されます。 |
|
このテンプレートを定義すると、DataList 内の項目間の区切り記号の内容とレイアウトが提供されます。定義しない場合は、区切り記号が表示されません。 |
少なくとも、DataList コントロールに項目が表示されるように ItemTemplate を定義する必要があります。追加テンプレートを使用して、DataList コントロールの外観をカスタマイズできます。
DataList コントロールの外観は、コントロールのさまざまな部分に対してスタイル プロパティを設定することによってカスタマイズできます。さまざまなスタイル プロパティの一覧を次の表に示します。
スタイル プロパティ |
説明 |
---|---|
DataList コントロールの交互の項目のスタイルを指定します。 |
|
DataList コントロールの編集中の項目のスタイルを指定します。 |
|
DataList コントロールのフッターのスタイルを指定します。 |
|
DataList コントロールのヘッダーのスタイルを指定します。 |
|
DataList コントロールの項目のスタイルを指定します。 |
|
DataList コントロール内の選択された項目のスタイルを指定します。 |
|
DataList コントロールの項目間の区切り記号のスタイルを指定します。 |
コントロールのさまざまな部分を表示または非表示にすることもできます。表示または非表示にする部分を制御するプロパティの一覧を次の表に示します。
プロパティ |
説明 |
---|---|
DataList コントロールのフッター セクションを表示または非表示にします。 |
|
DataList コントロールのヘッダー セクションを表示または非表示にします。 |
DataList コントロールの表示方向には、垂直または水平を選択できます。RepeatDirection プロパティを設定して、表示方向を指定します。
DataList コントロールのレイアウトは、RepeatLayout プロパティで制御します。このプロパティを RepeatLayout.Table に設定すると DataList がテーブル形式で表示され、RepeatLayout.Flow に設定すると DataList がテーブル構造を使用せずに表示されます。
注意 : |
---|
このコントロールは、ユーザー入力を表示するために使用できます。ユーザー入力には悪意のあるクライアント スクリプトが含まれている可能性があります。アプリケーションに表示する前に、クライアントから送信された実行スクリプト、SQL ステートメントなどのコードの情報はすべて検証してください。入力テキストをコントロールに表示する前に、検証コントロールを使用してユーザー入力を検証できます。ASP.NET には入力要求の検証機能があり、ユーザー入力の中のスクリプトおよび HTML をブロックできます。詳細については、「標準コントロールのセキュリティ保護」、「方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する」、および「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 ページのコード モデル