すべてのスタイル関連プロパティを実装するために DataList コントロールが内部で使用する既定のスタイル オブジェクトを作成します。
名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文
'宣言
Protected Overrides Function CreateControlStyle As Style
'使用
Dim returnValue As Style
returnValue = Me.CreateControlStyle
protected override Style CreateControlStyle ()
protected:
virtual Style^ CreateControlStyle () override
protected Style CreateControlStyle ()
protected override function CreateControlStyle () : Style
適用できません。
戻り値
コントロールの既定のスタイル プロパティを格納している TableStyle。
解説
CreateControlStyle メソッドは、カスタム実装を DataList コントロールから派生させる場合に、主にコントロールの開発者によって使用されます。
使用例
カスタム サーバー コントロールの CreateControlStyle メソッドをオーバーライドして、常に水平グリッド線をセルの間隔を空けずに DataList コントロールに表示する方法のコード例を次に示します。
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<!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" >
<head>
<title>Custom DataList - CreateControlStyle - VB Example</title>
<script runat="server">
Private Sub Page_Load(sender As Object, e As EventArgs)
' Create sample data for the DataList control.
Dim dt As System.Data.DataTable = New System.Data.DataTable()
Dim dr As System.Data.DataRow
' Create a new column named Column1, of type String.
Dim col As New System.Data.DataColumn("Column1", GetType(String))
' Add the column to the DataTable.
dt.Columns.Add(col)
dr = dt.NewRow()
dr(0) = "Hello"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr(0) = "DataList"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr(0) = "World"
dt.Rows.Add(dr)
' Show the DataTable values in the DataList.
DataList1.DataSource = dt
DataList1.DataBind()
End Sub ' Page_Load
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom DataList - CreateControlStyle - VB Example</h3>
<aspSample:CustomDataListCreateControlStyle id="DataList1" runat="server" BorderColor="#999999" BorderStyle="None" BackColor="White" CellPadding="3" GridLines="Vertical" BorderWidth="1px" Width="100px">
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#000084" />
<HeaderTemplate>
<asp:Label id="Label1" runat="server">Column1</asp:Label>
</HeaderTemplate>
<ItemStyle ForeColor="Black" BackColor="#EEEEEE" />
<ItemTemplate>
<asp:Label id="Label2" runat="server"><%# DataBinder.Eval(Container.DataItem, "Column1") %></asp:Label>
</ItemTemplate>
<AlternatingItemStyle BackColor="#DCDCDC" />
<AlternatingItemTemplate>
<asp:Label id="Label3" runat="server"><%# DataBinder.Eval(Container.DataItem, "Column1") %></asp:Label>
</AlternatingItemTemplate>
</aspSample:CustomDataListCreateControlStyle>
</form>
</body>
</html>
...
Imports System.Web
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomDataListCreateControlStyle
Inherits System.Web.UI.WebControls.DataList
Protected Overrides Function CreateControlStyle() As System.Web.UI.WebControls.Style
' Create a new TableStyle instance based on ViewState values.
Dim style As New System.Web.UI.WebControls.TableStyle(ViewState)
' Show the GridLines horizontal with no CellSpacing.
style.GridLines = System.Web.UI.WebControls.GridLines.Horizontal
style.CellSpacing = 0
' Return the Style
Return style
End Function
End Class
End Namespace
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!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" >
<head>
<title>Custom DataList - CreateControlStyle - C# Example</title>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
// Create sample data for the DataList control.
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("Column1", typeof(String)));
dr = dt.NewRow();
dr[0] = "Hello";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "DataList";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "World";
dt.Rows.Add(dr);
// Show the DataTable values in the DataList.
DataList1.DataSource = dt;
DataList1.DataBind();
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom DataList - CreateControlStyle - C# Example</h3>
<aspSample:CustomDataListCreateControlStyle id="DataList1" runat="server" BorderColor="#999999" BorderStyle="None" BackColor="White" CellPadding="3" GridLines="Vertical" BorderWidth="1px" Width="100px">
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#000084" />
<HeaderTemplate>
<asp:Label id="Label1" runat="server">Column1</asp:Label>
</HeaderTemplate>
<ItemStyle ForeColor="Black" BackColor="#EEEEEE" />
<ItemTemplate>
<asp:Label id="Label2" runat="server"><%# DataBinder.Eval(Container.DataItem, "Column1") %></asp:Label>
</ItemTemplate>
<AlternatingItemStyle BackColor="#DCDCDC" />
<AlternatingItemTemplate>
<asp:Label id="Label3" runat="server"><%# DataBinder.Eval(Container.DataItem, "Column1") %></asp:Label>
</AlternatingItemTemplate>
</aspSample:CustomDataListCreateControlStyle>
</form>
</body>
</html>
...
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomDataListCreateControlStyle : System.Web.UI.WebControls.DataList
{
protected override System.Web.UI.WebControls.Style CreateControlStyle()
{
// Create a new TableStyle instance based on ViewState values.
System.Web.UI.WebControls.TableStyle style = new System.Web.UI.WebControls.TableStyle(ViewState);
// Show the GridLines horizontal with no CellSpacing.
style.GridLines = System.Web.UI.WebControls.GridLines.Horizontal;
style.CellSpacing = 0;
// Return the Style
return style;
}
}
}
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page language="VJ#" %>
<!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" >
<head>
<title>Custom DataList - CreateControlStyle - VJ# Example</title>
<script runat="server">
private void Page_Load(Object sender, System.EventArgs e)
{
// Create sample data for the DataList control.
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.get_Columns().Add(new System.Data.DataColumn("Column1",
String.class.ToType()));
dr = dt.NewRow();
dr.set_Item(0, "Hello");
dt.get_Rows().Add(dr);
dr = dt.NewRow();
dr.set_Item(0, "DataList");
dt.get_Rows().Add(dr);
dr = dt.NewRow();
dr.set_Item(0, "World");
dt.get_Rows().Add(dr);
// Show the DataTable values in the DataList.
DataList1.set_DataSource(dt);
DataList1.DataBind();
} //Page_Load
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom DataList - CreateControlStyle - VJ# Example</h3>
<aspSample:CustomDataListCreateControlStyle id="DataList1" runat="server" BorderColor="#999999" BorderStyle="None" BackColor="White" CellPadding="3" GridLines="Vertical" BorderWidth="1px" Width="100px">
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#000084" />
<HeaderTemplate>
<asp:Label id="Label1" runat="server">Column1</asp:Label>
</HeaderTemplate>
<ItemStyle ForeColor="Black" BackColor="#EEEEEE" />
<ItemTemplate>
<asp:Label id="Label2" runat="server"><%# DataBinder.Eval(Container.get_DataItem(), "Column1") %></asp:Label>
</ItemTemplate>
<AlternatingItemStyle BackColor="#DCDCDC" />
<AlternatingItemTemplate>
<asp:Label id="Label3" runat="server"><%# DataBinder.Eval(Container.get_DataItem(), "Column1") %></asp:Label>
</AlternatingItemTemplate>
</aspSample:CustomDataListCreateControlStyle>
</form>
</body>
</html>
...
package Samples.AspNet.JSL.Controls;
public class CustomDataListCreateControlStyle
extends System.Web.UI.WebControls.DataList
{
protected System.Web.UI.WebControls.Style CreateControlStyle()
{
// Create a new TableStyle instance based on ViewState values.
System.Web.UI.WebControls.TableStyle style = new System.Web.UI.
WebControls.TableStyle(get_ViewState());
// Show the GridLines horizontal with no CellSpacing.
style.set_GridLines(System.Web.UI.WebControls.GridLines.Horizontal);
style.set_CellSpacing(0);
// Return the Style
return style;
} //CreateControlStyle
} //CustomDataListCreateControlStyle
プラットフォーム
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 クラス
DataList メンバ
System.Web.UI.WebControls 名前空間