DataList.CreateControlStyle メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
すべてのスタイル関連プロパティを実装するために DataList コントロールが内部で使用する既定のスタイル オブジェクトを作成します。
protected:
override System::Web::UI::WebControls::Style ^ CreateControlStyle();
protected override System.Web.UI.WebControls.Style CreateControlStyle ();
override this.CreateControlStyle : unit -> System.Web.UI.WebControls.Style
Protected Overrides Function CreateControlStyle () As Style
戻り値
コントロールの既定のスタイル プロパティを格納している TableStyle。
例
次のコード例は、カスタム サーバー コントロール内のメソッドを CreateControlStyle オーバーライドして、コントロールにセル間隔のない水平グリッド線を常に表示する方法を DataList 示しています。
<%@ 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>
<%@ 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>
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;
}
}
}
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
注釈
この CreateControlStyle メソッドは、コントロールから DataList カスタム実装を派生させる場合に、主にコントロール開発者によって使用されます。