WebControl.MergeStyle(Style) Метод

Определение

Копирует любой непустой элемент указанного стиля в элемент управления Веба, но не перезаписывает уже существующие элементы стиля.Copies any nonblank elements of the specified style to the Web control, but will not overwrite any existing style elements of the control. Этот метод используется в основном разработчиками элементов управления.This method is used primarily by control developers.

public:
 void MergeStyle(System::Web::UI::WebControls::Style ^ s);
public void MergeStyle (System.Web.UI.WebControls.Style s);
member this.MergeStyle : System.Web.UI.WebControls.Style -> unit
Public Sub MergeStyle (s As Style)

Параметры

s
Style

Style представляет стиль для копирования.A Style that represents the style to be copied.

Примеры

В следующем примере демонстрируется использование MergeStyle метода для слияния стиля с стилем DataGrid элемента управления.The following example demonstrates how to use the MergeStyle method to merge a style with the style of a DataGrid control.

Примечание

В следующем примере кода используется модель кода с одним файлом, и она может работать неправильно, если копировать их непосредственно в файл кода программной части.The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. Этот пример кода необходимо скопировать в пустой текстовый файл с расширением. aspx.This code sample must be copied into an empty text file that has an .aspx extension. Дополнительные сведения о модели кода веб-форм см. в разделе модель кода страницы веб-форм ASP.NET.For more information on the Web Forms code model, see ASP.NET Web Forms Page Code Model.


<%@ 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() 
      {
         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;
      
         ItemsGrid.MergeStyle(myStyle);
      }
 
   </script>
 
<head runat="server">
    <title>WebControl MergeStyle Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>WebControl MergeStyle Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           BackColor="Yellow"
           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="Merge Custom Style"
           OnClick="Button_Click"
           runat="server"/>
 
   </form>
 
</body>
</html>


<%@ 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">
 
      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
      
         ItemsGrid.MergeStyle(myStyle)

      End Sub
 
   </script>
 
<head runat="server">
    <title>WebControl MergeStyle Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>WebControl MergeStyle Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           BackColor="Yellow"
           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="Merge Custom Style"
           OnClick="Button_Click"
           runat="server"/>
 
   </form>
 
</body>
</html>

Применяется к

Дополнительно