次の方法で共有


WebControl.MergeStyle メソッド

指定したスタイルの空白以外の要素を Web コントロールにコピーしますが、コントロールの既存のスタイル要素は上書きしません。このメソッドは、主にコントロールの開発者によって使用されます。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Public Sub MergeStyle ( _
    s As Style _
)
'使用
Dim instance As WebControl
Dim s As Style

instance.MergeStyle(s)
public void MergeStyle (
    Style s
)
public:
void MergeStyle (
    Style^ s
)
public void MergeStyle (
    Style s
)
public function MergeStyle (
    s : Style
)
適用できません。

パラメータ

  • s
    コピーされるスタイルを表す Style

使用例

MergeStyle メソッドを使用して、スタイルを DataGrid コントロールのスタイルとマージする方法の例を次に示します。

メモメモ :

次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「ASP.NET Web ページのコード モデル」を参照してください。

<%@ 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>
<%@ 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>

プラットフォーム

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

参照

関連項目

WebControl クラス
WebControl メンバ
System.Web.UI.WebControls 名前空間

その他の技術情報

Web サーバー コントロール構文
ASP.NET カスタム サーバー コントロールの開発