Customizando Web Part Properties

Olá Developer, este post explica  como customizar as propriedades da Web Part, antes de mais nada vou expressar de uma forma bem didática em qual classe essa customização acontece. Lembrando que este post é direcionado para quem sabe criar uma Web Part simples.

projectProperties

Agora veja como é fácil customizar as propriedades, vou citar 5 exemplo Boleano, Texto, Número, Data e ComboBox.

projectProperties1

A seguir colocarei o código que usei dentro da classe para obter este resultado.

// Visual Studio might automatically update this path when you change the Visual Web Part project item.
private const string _ascxPath = @"~/_CONTROLTEMPLATES/15/GSD.Viewer.PDF/WebPartViewerPDF/WebPartViewerPDF.ascx";

protected override void CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
Controls.Add(control);
}

public static Boolean GSDBoolean;
[Category("Customizando Propriedades GSD"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("Boleano"),
WebDescription("Exemplo Boleano")]
public Boolean _GSDBoolean
{
get { return GSDBoolean; }
set { GSDBoolean = value; }
}

public static string GSDText;
[Category("Customizando Propriedades GSD"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("Texto"),
WebDescription("Exemplo Texto")]
public string _GSDText
{
get { return GSDText; }
set
{
//Validação
Regex oRegEx = new Regex("[a-zA-Z]+");
if (!oRegEx.IsMatch(value))
throw new Microsoft.SharePoint.WebPartPages.
WebPartPageUserException(
"Por favor entre com caracteres alfabéticos");
GSDText = value;
}
}

public static int GSDNumber;
[Category("Customizando Propriedades GSD"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("Número"),
WebDescription("Exemplo Número")]
public int _GSDNumber
{
get { return GSDNumber; }
set { GSDNumber = value; }
}

public static DateTime GSDDate;
[Category("Customizando Propriedades GSD"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("Data"),
WebDescription("Exemplo Data")]
public DateTime _GSDDate
{
get { return GSDDate; }
set { GSDDate = value; }
}

public enum CityEnum { Itajubá_MG, Salvador_BA, Pedralva_MG, São_Paulo_SP };
public static CityEnum GSDDropDown;
[Category("Customizando Propriedades GSD"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("ComboBox"),
WebDescription("Exemplo ComboBox")]
public CityEnum _GSDDropDown
{
get { return GSDDropDown; }
set { GSDDropDown = value; }
}

Para concluirmos, vou mostrar como podemos usar os parâmetros definidos ns propriedades da web part, veja a imagem abaixo:

projectProperties2

Essa estrutura eu aproveitei de um post anterior, e achei interessante explanar esse assunto, espero ter ajudado e elucidado qualquer dúvida.

Abraço, Developer!