> Tech > Programmation du composant WebPart

Programmation du composant WebPart

Tech - Par Renaud ROSSET - Publié le 10 décembre 2010
email


Vous pouvez désormais débuter la création de votre composant WebPart. Au niveau de son fichier de code, vous devez, dans la méthode CreateChildControls, créer les contrôles qui seront visibles dans votre composant. Le plus simple est de créer une table, de l’ajouter à la collection Controls de

Programmation du composant WebPart

l’objet Web Part, d’inclure des lignes et des cellules dans la table, puis d’ajouter vos contrôles à la collection Controls des cellules. Le code suivant ajoute le contrôle Label à la pre mière cellule, dans la première ligne de la table :

Dim tbl As New Table
Me.Controls.Add(tbl)

Dim trTitle As New TableRow
tbl.Rows.Add(trTitle)

Dim tcTitle As New TableCell
trTitle.Cells.Add(tcTitle)

Dim TitleLabel As New Label()
TitleLabel.Text = "Look for movies with title:" tcText.Controls.Add(SearchTitle)

Pour mon exemple, j’ai créé une table avec quatre lignes : la première contient un contrôle Label et un contrôle TextBox, afin que l’utilisateur puisse entrer le titre d’un film à rechercher. La deuxième ligne contient un contrôle Label et un contrôle TextBox, afin que l’utilisateur puisse saisir une catégorie (telle que film d’action ou drame). La troisième ligne contient le bouton de lancement de la recherche. Enfin, la dernière ligne inclut un contrôle GridView, pour l’affichage du résultat. Dans la méthode CreateControls, vous devez aussi associer tous les événements nécessaires à votre composant. Le code suivant ajoute un bouton à la table et lui associe une routine d’événement :

Dim trButton As New TableRow
tbl.Rows.Add(trButton)

Dim tcButton As New TableCell
trButton.Cells.Add(tcButton)

Dim SearchButton As New Button()
SearchButton.Text = "Search" AddHandler Search
Button.Click, AddressOf Me.StartSearch
tcButton.Controls.Add(SearchButton)

La routine d’événement récupère les données des deux contrôles TextBox de la table (dans les première et deuxième lignes), puis remplit un DatSet lié à un GridView (dans la quatrième ligne) :

Private Sub StartSearch(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim conn As New SqlConnection("…")
Dim cm As SqlCommand = conn.CreateCommand
Dim da As New SqlDataAdapter(cm)
Dim ds As New System.Data.DataSet
Dim searchString As String
Dim tbl As Table
tbl = CType(Me.Controls(0), Table)

searchString = CType( _
tbl.Rows(0).Cells(0).Controls(1), TextBox).Text
cm.CommandText = "Select * From …"
da.Fill(ds, "Results")

Dim gv As GridView
gv = CType(tbl.Rows(2).Cells(0).Controls(1), GridView)
gv.DataSource = ds
gv.DataMember = "Results"
gv.DataBind() End Sub

Pour que l’application SharePoint soit complète, il faut qu’elle prenne en charge un certain niveau de personnalisation. Dans mon exemple, la TextBox de catégorie de films est supportée par une propriété de catégorie personnalisable qui gère un champ interne intitulé _category :

Private _category As String _
_
_

"Movie Search Settings")> _

"A valid movie category to search within")>
Public Property Category() As String
Get
Return _category
End Get
Set(ByVal value As String)
_category = value
End Set
End Property

Lorsque la TexBox SearchCategory est ajoutée à la table qui constitue le contrôle, j’initialise le contrôle avec le champ _category défini via la propriété personnalisable :

Dim SearchCategory As New TextBox()
SearchCategory.Text = _category tcCategory.Controls.Add(SearchCategory)

SharePoint permet désormais à l’utilisateur de spécifier une valeur pour la propriété Category en sélectionnant « Personnalize this page » dans le menu « Welcome User » en haut de la page, ce afin de faire passer la page en « mode personnalisation ». Une fois que l’utilisateur saisit une valeur, SharePoint veille à que la propriété soit automatiquement définie à cette valeur chaque fois que l’utilisateur revient à la page.

Téléchargez cette ressource

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 10 décembre 2010