다음을 통해 공유


GridViewDesigner.GetDesignTimeHtml 메서드

정의

연결된 GridView 컨트롤을 디자인 타임에 렌더링하는 데 사용되는 태그를 가져옵니다.

오버로드

GetDesignTimeHtml()

디자인 타임에, 연결된 컨트롤을 렌더링하는 데 사용되는 태그를 가져옵니다.

GetDesignTimeHtml(DesignerRegionCollection)

디자인 타임에, 연결된 컨트롤을 렌더링하는 데 사용되는 태그를 가져와서 디자이너 영역의 컬렉션을 채웁니다.

GetDesignTimeHtml()

디자인 타임에, 연결된 컨트롤을 렌더링하는 데 사용되는 태그를 가져옵니다.

public:
 override System::String ^ GetDesignTimeHtml();
public override string GetDesignTimeHtml ();
override this.GetDesignTimeHtml : unit -> string
Public Overrides Function GetDesignTimeHtml () As String

반환

String

디자인 타임에 GridView을(를) 렌더링하는 데 사용되는 태그가 포함된 String입니다.

예제

다음 코드 예제에서는 재정의 하는 방법을 보여 줍니다.는 GetDesignTimeHtml 에서 상속 된 클래스에서 메서드를 GridViewDesigner 클래스의 모양을 변경 하는 GridView 디자인 타임에 컨트롤입니다. 예제를 포함 하도록 표에 새 첫 번째 행을 추가 합니다 Caption 속성인 경우는 Caption 정의 됩니다. 경우는 BorderStyle 에서 파생 된 컨트롤의 속성을 GridView 클래스에는 NotSet 또는 None 값은 GetDesignTimeHtml 해당 범위 보다 편리 하 게 컨트롤 주변의 파란색 파선된 테두리를 그립니다. 컨트롤의 런타임 모양을 변경 하지 않습니다.

// 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
' 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

설명

GetDesignTimeHtml() 메서드는 다음 작업을 수행합니다.

  1. 집합을 AutoGenerateColumns 컨트롤의 속성 true경우는 Columns 속성이 비어 있습니다.

  2. 설정 된 DataKeyNames 컨트롤의 속성 null이면 데이터 원본의 스키마를 가져올 수 없습니다.

  3. 새로 고칩니다를 TypeDescriptor 적용할 개체는 PreFilterProperties 호출 될 메서드입니다.

  4. 태그를 생성 하기 위한 기본 메서드를 호출 합니다.

상속자 참고

재정의 하는 경우는 GetDesignTimeHtml() 메서드를 결국 여러 재정의 수준을 통해 호출에서 때문일 기본 메서드를 호출 하는 GridView 컨트롤이 나 태그를 생성 하는 컨트롤의 복사본입니다.

추가 정보

적용 대상

GetDesignTimeHtml(DesignerRegionCollection)

디자인 타임에, 연결된 컨트롤을 렌더링하는 데 사용되는 태그를 가져와서 디자이너 영역의 컬렉션을 채웁니다.

public:
 override System::String ^ GetDesignTimeHtml(System::Web::UI::Design::DesignerRegionCollection ^ regions);
public override string GetDesignTimeHtml (System.Web.UI.Design.DesignerRegionCollection regions);
override this.GetDesignTimeHtml : System.Web.UI.Design.DesignerRegionCollection -> string
Public Overrides Function GetDesignTimeHtml (regions As DesignerRegionCollection) As String

매개 변수

regions
DesignerRegionCollection

컨트롤의 디자인 타임 보기에서 선택 및 클릭할 수 있는 영역의 정의가 추가되는 DesignerRegionCollection입니다.

반환

String

디자인 타임에 GridView을(를) 렌더링하는 데 사용되는 태그가 포함된 String입니다.

예제

다음 코드 예제에서는 재정의 하는 방법을 보여 줍니다.는 GetDesignTimeHtml 에서 상속 된 클래스에서 메서드를 GridViewDesigner 클래스의 모양을 변경 하는 GridView 디자인 타임에 컨트롤입니다. 예제를 포함 하도록 표에 새 첫 번째 행을 추가 합니다 Caption 속성인 경우는 Caption 정의 됩니다. 경우는 BorderStyle 에서 파생 된 컨트롤의 속성을 GridView 클래스에는 NotSet 또는 None 값은 GetDesignTimeHtml 해당 범위 보다 편리 하 게 컨트롤 주변의 파란색 파선된 테두리를 그립니다. 컨트롤의 런타임 모양을 변경 하지 않습니다.

// 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
' 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

설명

GetDesignTimeHtml(DesignerRegionCollection) 메서드 호출을 GetDesignTimeHtml() 의 디자인 타임 렌더링에 대 한 태그를 생성 하는 메서드는 GridView 컨트롤. 합니다 GetDesignTimeHtml(DesignerRegionCollection) 채웁니다 regions 사용 하 여를 DesignerRegion 디자인 타임 렌더링의 각 선택 또는 클릭 가능한 영역에 대 한 개체입니다.

에 대 한는 GridView, 각 행의 첫 번째 셀은 선택할 수 있는 행의 모든 셀을 클릭할 수 있습니다.

상속자 참고

재정의 하는 경우는 GetDesignTimeHtml(DesignerRegionCollection) 메서드를 기본 메서드를 호출 해야 합니다. 또는 GetDesignTimeHtml() 결국 여러 재정의 수준을 통해 호출에서 때문에 오버 로드는 GridView 컨트롤이 나 태그를 생성 하는 컨트롤의 복사본입니다.

추가 정보

적용 대상