Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo GridViewDesigner.GetDesignTimeHtml ()

 

Data di pubblicazione: ottobre 2016

Ottiene il markup usato per il rendering del controllo associato in fase di progettazione.

Spazio dei nomi:   System.Web.UI.Design.WebControls
Assembly:  System.Design (in System.Design.dll)

public override string GetDesignTimeHtml()

Valore restituito

Type: System.String

Oggetto String contenente il markup usato per eseguire il rendering dell'oggetto GridView in fase di progettazione.

Il metodo GetDesignTimeHtml() esegue le operazioni seguenti:

  1. Imposta il AutoGenerateColumns proprietà del controllo da true, se il Columns proprietà è vuota.

  2. Imposta il DataKeyNames proprietà del controllo da null, se non è possibile ottenere lo schema dell'origine dati.

  3. Aggiorna il TypeDescriptor oggetto per forzare il PreFilterProperties metodo da chiamare.

  4. Chiama il metodo di base per generare il markup.

Note per gli eredi:

Se esegue l'override di GetDesignTimeHtml (metodo), assicurarsi di chiamare il metodo di base, poiché, tramite vari livelli di override, chiama infine il GridView controllo o una copia del controllo per generare il markup.

Esempio di codice seguente viene illustrato come eseguire l'override di GetDesignTimeHtml metodo in una classe che eredita dal GridViewDesigner (classe) per modificare l'aspetto del GridView controllo in fase di progettazione. Nell'esempio viene aggiunta una nuova prima riga alla griglia per contenere il Caption proprietà, se il Caption è definito. Se il BorderStyle proprietà del controllo derivato dalla GridView classe dispone di NotSet o None valore, il GetDesignTimeHtml Disegna un bordo blu tratteggiato intorno al controllo per renderlo più visibile. Non viene modificato l'aspetto in fase di esecuzione del controllo.

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

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: