GridViewDesigner クラスとは? わかりやすく解説

GridViewDesigner クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

GridView コントロールを、ビジュアル デザイナで、デザイン時に使用できるようにします。

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

Public Class GridViewDesigner
    Inherits DataBoundControlDesigner
Dim instance As GridViewDesigner
public class GridViewDesigner : DataBoundControlDesigner
public ref class GridViewDesigner : public
 DataBoundControlDesigner
public class GridViewDesigner extends DataBoundControlDesigner
public class GridViewDesigner extends
 DataBoundControlDesigner
解説解説

ビジュアルなデザイナソース ビューからデザイン ビュー切り替えると、GridView コントロール記述するマークアップソース コード解析されコントロールデザインバージョンデザイン サーフェイス作成されます。元のソース ビュー切り替えると、デザインコントロールマークアップソース コード永続化され、Web ページマークアップ反映されます。

GridViewDesigner クラスプロパティは、次の機能提供します

GridViewDesigner クラスメソッドは、次の機能提供します

GridView コントロールでは、デザイン時の編集可能領域サポートされていないため、GetEditableDesignerRegionContent メソッドと SetEditableDesignerRegionContent メソッド何の機能提供しません。

使用例使用例

GridViewDesigner クラス拡張しGridView コントロールか派生したコントロール外観デザイン時に変更するコード例次に示します

この例では、MyGridView コントロールGridView から派生させています。MyGridView は、単に GridViewコピーです。また、この例では、GridViewDesigner クラスから MyGridViewDesigner クラス派生してMyGridViewDesigner の DesignerAttribute オブジェクトMyGridView コントロール配置します

MyGridViewDesigner は、PreFilterProperties メソッドオーバーライドし、デザイン時に、[プロパティ] グリッドPage プロパティ表示します。さらに、GetDesignTimeHtml メソッドオーバーライドして、Caption プロパティ指定されている場合は、デザイン時にMyGridView コントロール新し先頭行としてこのプロパティ挿入しますMyGridView コントロールの BorderStyle プロパティの値が NotSet または None の場合GetDesignTimeHtml は、コントロール周囲に青い点線境界線描画して、コントロール範囲わかりやすくます。

Imports System
Imports System.Web
Imports System.Drawing
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Imports System.Collections
Imports System.ComponentModel
Imports System.Security.Permissions

Namespace Examples.VB.WebControls.Design

    ' The MyGridView is a copy of the GridView.
    <AspNetHostingPermission(SecurityAction.Demand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
        Level:=AspNetHostingPermissionLevel.Minimal)> _
    <Designer(GetType(Examples.VB.WebControls.Design.MyGridViewDesigner))>
 _
    Public Class MyGridView
        Inherits GridView
    End Class ' MyVBGridView

    ' Override members of the GridViewDesigner.
    <ReflectionPermission(SecurityAction.Demand, Flags:=ReflectionPermissionFlag.MemberAccess)>
 _
    Public Class MyGridViewDesigner
        Inherits GridViewDesigner

        ' Shadow the control properties with design-time properties.
        Protected Overrides Sub
 PreFilterProperties( _
            ByVal properties As IDictionary)

            ' Call the base method first.
            MyBase.PreFilterProperties(properties)

            ' Make the Page visible in the Properties grid.
            Dim selectProp As PropertyDescriptor
 = _
                CType(properties("Page"), PropertyDescriptor)
            properties("Page") = _
                TypeDescriptor.CreateProperty(selectProp.ComponentType, _
                    selectProp, BrowsableAttribute.Yes)
        End Sub ' PreFilterProperties

        ' Generate the design-time markup.
        Private Const capTag As
 String = "caption"
        Private Const trOpen As
 String = "tr><td colspan=9 align=center"
        Private Const trClose As
 String = "td></tr"

        Public Overrides Function
 GetDesignTimeHtml() As String

            ' Make the full extent of the control more visible in the
 designer.
            ' If the border style is None or NotSet, change the border
 to
            ' a wide, blue, dashed line. Include the caption within
 the border.
            Dim myGV As MyGridView = CType(Component,
 MyGridView)
            Dim markup As String
 = Nothing
            Dim charX As Integer

            ' Check if the border style should be changed.
            If (myGV.BorderStyle = BorderStyle.NotSet Or
 _
                myGV.BorderStyle = BorderStyle.None) Then

                Dim oldBorderStyle As BorderStyle
 = myGV.BorderStyle
                Dim oldBorderWidth As Unit
 = myGV.BorderWidth
                Dim oldBorderColor As Color
 = myGV.BorderColor

                ' Set the design-time properties and catch any exceptions.
                Try
                    myGV.BorderStyle = BorderStyle.Dashed
                    myGV.BorderWidth = Unit.Pixel(3)
                    myGV.BorderColor = Color.Blue

                    ' Call the base method to generate the markup.
                    markup = MyBase.GetDesignTimeHtml()

                Catch ex As Exception
                    markup = GetErrorDesignTimeHtml(ex)

                Finally
                    ' Restore the properties to their original settings.
                    myGV.BorderStyle = oldBorderStyle
                    myGV.BorderWidth = oldBorderWidth
                    myGV.BorderColor = oldBorderColor
                End Try

            Else
                ' Call the base method to generate the markup.
                markup = MyBase.GetDesignTimeHtml()
            End If

            ' Look for a <caption> tag.
            charX = markup.IndexOf(capTag)
            If charX > 0 Then

                ' Replace the first caption with 
                ' "tr><td colspan=9 align=center".
                ' It is okay if the colspan exceeds the 
                ' number of columns in the table.
                markup = markup.Remove(charX, _
                    capTag.Length).Insert(charX, trOpen)

                ' Replace the second caption with "td></tr".
                charX = markup.IndexOf(capTag, charX)
                If charX > 0 Then
                    markup = markup.Remove(charX, _
                        capTag.Length).Insert(charX, trClose)
                End If
            End If

            Return markup

        End Function ' GetDesignTimeHtml
    End Class ' MyGridViewDesigner
End Namespace ' Examples.VB.WebControls.Design
using System;
using System.Web;
using System.Drawing;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.Collections;
using System.ComponentModel;
using System.Security.Permissions;

namespace Examples.CS.WebControls.Design
{
    // The MyGridView is a copy of the GridView.
    [AspNetHostingPermission(SecurityAction.Demand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    [Designer(typeof(Examples.CS.WebControls.Design.MyGridViewDesigner))]
    public class MyGridView : GridView
    {
    } // MyGridView

    // Override members of the GridViewDesigner.
    [ReflectionPermission(SecurityAction.Demand, Flags=ReflectionPermissionFlag.MemberAccess)]
    public class MyGridViewDesigner : GridViewDesigner
    {
        // Shadow the control properties with design-time properties.
        protected override void PreFilterProperties(IDictionary
 properties)
        {
            // Call the base method first.
            base.PreFilterProperties(properties);

            // Make the Page visible in the Properties grid.
            PropertyDescriptor selectProp = 
                (PropertyDescriptor)properties["Page"];
            properties["Page"] =
                TypeDescriptor.CreateProperty(selectProp.ComponentType, 
                    selectProp, BrowsableAttribute.Yes);
        } // PreFilterProperties

        // Generate the design-time markup.
        const string capTag = "caption";
        const string trOpen = "tr><td
 colspan=9 align=center";
        const string trClose = "td></tr";

        public override string GetDesignTimeHtml()
        {
            // Make the full extent of the control more visible in the
 designer.
            // If the border style is None or NotSet, change the border
 to
            // a wide, blue, dashed line. Include the caption within
 the border.
            MyGridView myGV = (MyGridView)Component;
            string markup = null;
            int charX;

            // Check if the border style should be changed.
            if (myGV.BorderStyle == BorderStyle.NotSet ||
                myGV.BorderStyle == BorderStyle.None)
            {
                BorderStyle oldBorderStyle = myGV.BorderStyle;
                Unit oldBorderWidth = myGV.BorderWidth;
                Color oldBorderColor = myGV.BorderColor;

                // Set the design-time properties and catch any exceptions.
                try
                {
                    myGV.BorderStyle = BorderStyle.Dashed;
                    myGV.BorderWidth = Unit.Pixel(3);
                    myGV.BorderColor = Color.Blue;

                    // Call the base method to generate the markup.
                    markup = base.GetDesignTimeHtml();
                }
                catch (Exception ex)
                {
                    markup = GetErrorDesignTimeHtml(ex);
                }
                finally
                {
                    // Restore the properties to their original settings.
                    myGV.BorderStyle = oldBorderStyle;
                    myGV.BorderWidth = oldBorderWidth;
                    myGV.BorderColor = oldBorderColor;
                }
            }
            else
                // Call the base method to generate the markup.
                markup = base.GetDesignTimeHtml();

            // Look for a <caption> tag.
            if ((charX = markup.IndexOf(capTag)) > 0)
            {
                // Replace the first caption with 
                // "tr><td colspan=9 align=center".
                // It is okay if the colspan exceeds the 
                // number of columns in the table.
                markup = markup.Remove(charX,
                    capTag.Length).Insert(charX, trOpen);

                // Replace the second caption with "td></tr".
                if ((charX = markup.IndexOf(capTag, charX)) >
 0)
                    markup = markup.Remove(charX,
                        capTag.Length).Insert(charX, trClose);
            }
            return markup;

        } // GetDesignTimeHtml
    } // MyGridViewDesigner
} // Examples.CS.WebControls.Design
継承階層継承階層
System.Object
   System.ComponentModel.Design.ComponentDesigner
     System.Web.UI.Design.HtmlControlDesigner
       System.Web.UI.Design.ControlDesigner
         System.Web.UI.Design.WebControls.BaseDataBoundControlDesigner
           System.Web.UI.Design.WebControls.DataBoundControlDesigner
            System.Web.UI.Design.WebControls.GridViewDesigner
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「GridViewDesigner クラス」の関連用語

GridViewDesigner クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



GridViewDesigner クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS