DataList.AlternatingItemStyle プロパティ
DataList コントロールの交互の項目のスタイル プロパティを取得します。
Public Overridable ReadOnly Property AlternatingItemStyle As _
TableItemStyle
[C#]
public virtual TableItemStyle AlternatingItemStyle {get;}
[C++]
public: __property virtual TableItemStyle*
get_AlternatingItemStyle();
[JScript]
public function get AlternatingItemStyle() : TableItemStyle;
プロパティ値
DataList コントロールの交互の項目のスタイル プロパティを表す TableItemStyle オブジェクト。既定値は空の TableItemStyle オブジェクトです。
解説
AlternatingItemStyle プロパティを使用して、 DataList コントロールの交互の項目のカスタム スタイルを指定します。調整できる共通スタイル属性には、前景色、背景色、フォント、セル内の内容の配置などがあります。異なるスタイルを指定すると、 DataList コントロールの外観が詳細に設定されます。
DataList コントロールの項目スタイル プロパティは、優先順位に従って、ある項目スタイル プロパティから別の項目スタイル プロパティへと継承されます。優先順位の高い項目スタイル プロパティは、優先順位が低い項目スタイル プロパティの値を継承します。たとえば、 ItemStyle プロパティに赤いフォントを指定すると、 DataList コントロールの他のすべての項目スタイル プロパティにも赤いフォントが設定されます。これにより、単一の項目スタイル プロパティを設定するだけで、コントロールの全体的な外観に統一感を持たせることができます。優先順位の高い項目スタイル プロパティが継承したスタイル設定を無効にする場合は、そのスタイル プロパティに独自の値を設定します。たとえば、 AlternatingItemStyle プロパティに青いフォントを指定して、 ItemStyle プロパティで指定した赤いフォントをオーバーライドできます。優先順位を高い方から低い方への順序で次の表に示します。
優先順位 | スタイル プロパティ |
---|---|
1 | EditItemStyle |
2 | SelectedItemStyle |
3 | AlternatingItemStyle |
4 | ItemStyle |
5 | ControlStyle |
交互の項目のカスタム スタイルを指定するには、 <AlternatingItemStyle> タグを DataList コントロールの開始タグと終了タグの間に配置します。その後、 <AlternatingItemStyle> の開始タグ内にスタイル属性のリストを記述できます。
使用例
[Visual Basic, C#] AlternatingItemStyle プロパティを使用して、 DataList コントロールの交互の項目に異なる背景色を指定する方法の例を次に示します。
[Visual Basic, C#] メモ 次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「 Web フォームのコード モデル 」を参照してください。
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<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
Sub Selection_Change(sender As Object, e As EventArgs)
' Set the background color for the heading and footer sections
' of the DataList control.
ItemsList.ItemStyle.BackColor = _
System.Drawing.Color.FromName(ItemList.SelectedItem.Value)
ItemsList.AlternatingItemStyle.BackColor = _
System.Drawing.Color.FromName(AltItemList.SelectedItem.Value)
End Sub
</script>
<body>
<form runat=server>
<h3>DataList ItemStyle and AlternatingItemStyle Example</h3>
Select background colors for the items and alternating items.
<br><br>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="3"
ShowBorder="True"
ShowFooter="True"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<ItemStyle BackColor="White">
</ItemStyle>
<AlternatingItemStyle BackColor="White">
</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"
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
</asp:DataList>
<hr>
<table cellpadding="5">
<tr>
<td>
Item BackColor:
</td>
<td>
Alternating item BackColor:
</td>
</tr>
<tr>
<td>
<asp:DropDownList id="ItemList"
AutoPostBack="True"
OnSelectedIndexChanged="Selection_Change"
runat="server">
<asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
<asp:ListItem Value="Silver"> Silver </asp:ListItem>
<asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
<asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
<asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="AltItemList"
AutoPostBack="True"
OnSelectedIndexChanged="Selection_Change"
runat="server">
<asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
<asp:ListItem Value="Silver"> Silver </asp:ListItem>
<asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
<asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
<asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>
</asp:DropDownList>
</td>
</tr>
</table>
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<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();
}
}
void Selection_Change(Object sender, EventArgs e)
{
// Set the background color for the heading and footer sections
// of the DataList control.
ItemsList.ItemStyle.BackColor =
System.Drawing.Color.FromName(ItemList.SelectedItem.Value);
ItemsList.AlternatingItemStyle.BackColor =
System.Drawing.Color.FromName(AltItemList.SelectedItem.Value);
}
</script>
<body>
<form runat=server>
<h3>DataList ItemStyle and AlternatingItemStyle Example</h3>
Select background colors for the items and alternating items.
<br><br>
<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="3"
ShowBorder="True"
ShowFooter="True"
runat="server">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<ItemStyle BackColor="White">
</ItemStyle>
<AlternatingItemStyle BackColor="White">
</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"
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
</ItemTemplate>
<AlternatingItemTemplate>
<asp:Image id="ProductImage"
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>
<br>
Description: <br>
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
<br>
Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>
</AlternatingItemTemplate>
</asp:DataList>
<hr>
<table cellpadding="5">
<tr>
<td>
Item BackColor:
</td>
<td>
Alternating item BackColor:
</td>
</tr>
<tr>
<td>
<asp:DropDownList id="ItemList"
AutoPostBack="True"
OnSelectedIndexChanged="Selection_Change"
runat="server">
<asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
<asp:ListItem Value="Silver"> Silver </asp:ListItem>
<asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
<asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
<asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList id="AltItemList"
AutoPostBack="True"
OnSelectedIndexChanged="Selection_Change"
runat="server">
<asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
<asp:ListItem Value="Silver"> Silver </asp:ListItem>
<asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
<asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
<asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>
</asp:DropDownList>
</td>
</tr>
</table>
</form>
</body>
</html>
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ
参照
DataList クラス | DataList メンバ | System.Web.UI.WebControls 名前空間 | TableItemStyle | Style