Freigeben über


WebControl.ApplyStyle-Methode

Kopiert alle nicht leeren Elemente der angegebenen Formatvorlage in das Websteuerelement und überschreibt hierbei alle vorhandenen Formatvorlagenelemente des Steuerelements. Diese Methode wird hauptsächlich von Steuerelemententwicklern verwendet.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Sub ApplyStyle ( _
    s As Style _
)
'Usage
Dim instance As WebControl
Dim s As Style

instance.ApplyStyle(s)
public void ApplyStyle (
    Style s
)
public:
void ApplyStyle (
    Style^ s
)
public void ApplyStyle (
    Style s
)
public function ApplyStyle (
    s : Style
)

Parameter

  • s
    Ein Style, der die zu kopierende Formatvorlage darstellt.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie mit der ApplyStyle-Methode ein Format auf das DataGrid-Steuerelement angewendet wird.

Hinweis

Im folgenden Codebeispiel wird das Einzeldatei-Codemodell verwendet. Das Beispiel funktioniert möglicherweise nicht, wenn es direkt in eine CodeBehind-Datei kopiert wird. Dieses Codebeispiel muss in eine leere Textdatei mit einer ASPX-Erweiterung kopiert werden. Weitere Informationen zum Web Forms-Codemodell finden Sie unter Codemodell für ASP.NET-Webseiten.

<%@ Page Language="VB" AutoEventWireup="True" %>

<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
      Private Function CreateDataSource() As ICollection 
      
         Dim dt As DataTable = New DataTable
         Dim dr As DataRow
         Dim dv As DataView
         Dim i As Integer
 
         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Integer)))
         dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
         dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
 
         for i = 0 to 9  
         
            dr = dt.NewRow()
 
            dr(0) = i
            dr(1) = "Item " + i.ToString()
            dr(2) = 1.23 * (i + 1)
 
            dt.Rows.Add(dr)

         next i
 
         dv = New DataView(dt)
         CreateDataSource = dv

      End Function
 
      Private Sub Page_Load(sender As Object, e As EventArgs) 
      
         If Not IsPostBack Then 
            ' Load this data only once.
            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()
         End If

      End Sub

      Private Sub Button_Click(sender As Object, e As EventArgs) 
    
         Dim myStyle As Style = new Style()
         myStyle.ForeColor = System.Drawing.Color.Red
         myStyle.BackColor = System.Drawing.Color.Yellow
      
         ItemsGrid.ApplyStyle(myStyle)

      End Sub
 
   </script>
 
<body>
 
   <form runat=server>
 
      <h3>WebControl ApplyStyle Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <Columns>

            <asp:BoundColumn
                 HeaderText="Number" 
                 DataField="IntegerValue">
            </asp:BoundColumn>

            <asp:BoundColumn
                 HeaderText="Description" 
                 DataField="StringValue">
            </asp:BoundColumn>

            <asp:BoundColumn
                 HeaderText="Price" 
                 DataField="CurrencyValue" 
                 DataFormatString="{0:c}">
            </asp:BoundColumn>

         </Columns>
 
      </asp:DataGrid>

      <br><br>

      <asp:Button id="Button1" 
           Text="Apply Custom Style"
           OnClick="Button_Click"
           runat="server"/>
 
   </form>
 
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>

<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;
 
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
         if (!IsPostBack) 
         {
            // Load this data only once.
            ItemsGrid.DataSource= CreateDataSource();
            ItemsGrid.DataBind();
         }
      }

      void Button_Click(Object sender, EventArgs e) 
      {
         Style myStyle = new Style();
         myStyle.ForeColor = System.Drawing.Color.Red;
         myStyle.BackColor = System.Drawing.Color.Yellow;
      
         ItemsGrid.ApplyStyle(myStyle);
      }
 
   </script>
 
<body>
 
   <form runat=server>
 
      <h3>WebControl ApplyStyle Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <Columns>

            <asp:BoundColumn
                 HeaderText="Number" 
                 DataField="IntegerValue">
            </asp:BoundColumn>

            <asp:BoundColumn
                 HeaderText="Description" 
                 DataField="StringValue">
            </asp:BoundColumn>

            <asp:BoundColumn
                 HeaderText="Price" 
                 DataField="CurrencyValue" 
                 DataFormatString="{0:c}">
            </asp:BoundColumn>

         </Columns>
 
      </asp:DataGrid>

      <br><br>

      <asp:Button id="Button1" 
           Text="Apply Custom Style"
           OnClick="Button_Click"
           runat="server"/>
 
   </form>
 
</body>
</html>
<%@ Page Language="JScript" AutoEventWireup="True" %>

<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
      function CreateDataSource() : ICollection
      {
         var dt : DataTable = new DataTable();
         var dr : DataRow;
 
         dt.Columns.Add(new DataColumn("IntegerValue", System.Int32));
         dt.Columns.Add(new DataColumn("StringValue", System.String));
         dt.Columns.Add(new DataColumn("CurrencyValue", System.Double));
 
         for (var i : int = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }
 
         var dv : DataView = new DataView(dt);
         return dv;
      }
 
      function Page_Load(sender, e : EventArgs) 
      {
         if (!IsPostBack) 
         {
            // Load this data only once.
            ItemsGrid.DataSource= CreateDataSource();
            ItemsGrid.DataBind();
         }
      }

      function Button_Click(sender, e : EventArgs) 
      {
         var myStyle : Style = new Style();
         myStyle.ForeColor = System.Drawing.Color.Red;
         myStyle.BackColor = System.Drawing.Color.Yellow;
      
         ItemsGrid.ApplyStyle(myStyle);
      }
 
   </script>
 
<body>
 
   <form runat=server>
 
      <h3>WebControl ApplyStyle Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <Columns>

            <asp:BoundColumn
                 HeaderText="Number" 
                 DataField="IntegerValue">
            </asp:BoundColumn>

            <asp:BoundColumn
                 HeaderText="Description" 
                 DataField="StringValue">
            </asp:BoundColumn>

            <asp:BoundColumn
                 HeaderText="Price" 
                 DataField="CurrencyValue" 
                 DataFormatString="{0:c}">
            </asp:BoundColumn>

         </Columns>
 
      </asp:DataGrid>

      <br><br>

      <asp:Button id="Button1" 
           Text="Apply Custom Style"
           OnClick="Button_Click"
           runat="server"/>
 
   </form>
 
</body>
</html>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

WebControl-Klasse
WebControl-Member
System.Web.UI.WebControls-Namespace
MergeStyle
Style-Klasse

Weitere Ressourcen

Syntax des Webserversteuerelements
Entwickeln von benutzerdefinierten ASP.NET-Serversteuerelementen