Accueil > > > COMMENT GÉNÉRER LE WEBCONTROL TABSTRIP TOTALEMENT EN DYNAMIQUE
COMMENT GÉNÉRER LE WEBCONTROL TABSTRIP TOTALEMENT EN DYNAMIQUE
Information sur la source
Description
C'est ma première contribution sur ce site et j'espère que je serais à la hauteur par rapport aux excellents codes présent sur ce site. Cet exemple nous montre comment générer le webcontrol TabStrip de manière totalement dynamique. On y trouve en autre : - Plusieurs controls générer dynamiquement, - Imbrication de ces controls entre eux, - Utilisation des feuilles de style sur le control TabStrip, - Utilisation du control Multipage, - Utilisation du control PageView Le tout est mis dans un PlaceHolder afin de faciliter la manipulation du code côté HTML et code behind. J'ai fourni un zip dans lequel se trouve tous les fichiers nécessaires pour l'exécution de cet exemple (fichier code source, images et css).
Source
- ***** Code sur la page HTML *****
- <%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
- <%@ Page Language="vb" AutoEventWireup="false" Codebehind="tab.aspx.vb" Inherits="NetWork.tab"%>
- <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
- <html>
- <head>
- <title>TabStrip Control</title>
- <link rel="STYLESHEET" href="essai.css" type="text/css">
- </head>
-
- <body ms_positioning="GridLayout">
- <form id="Form1" method="post" runat="server">
- <asp:placeholder id="PlaceHolder1" runat="server"></asp:placeholder>
- </form>
- </body>
- </html>
-
-
-
-
- ***** Code behind *****
- Public Class tab
- Inherits System.Web.UI.Page
-
- #Region " Code généré par le Concepteur Web Form "
-
- 'Cet appel est requis par le Concepteur Web Form.
- <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
-
- End Sub
- Protected WithEvents PlaceHolder1 As System.Web.UI.WebControls.PlaceHolder
-
- 'REMARQUE : la déclaration d'espace réservé suivante est requise par le Concepteur Web Form.
- 'Ne pas supprimer ou déplacer.
- Private designerPlaceholderDeclaration As System.Object
-
- Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
- 'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form
- 'Ne le modifiez pas en utilisant l'éditeur de code.
- InitializeComponent()
- End Sub
-
- #End Region
-
- Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
-
- Dim Tab_Strip As New Microsoft.Web.UI.WebControls.TabStrip
- Dim M_Page As New Microsoft.Web.UI.WebControls.MultiPage
-
- Dim tdStyle As New Microsoft.Web.UI.WebControls.CssCollection ' TabDefaultStyle
- Dim thStyle As New Microsoft.Web.UI.WebControls.CssCollection ' TabHoverStyle
- Dim tsStyle As New Microsoft.Web.UI.WebControls.CssCollection ' TabSelectedStyle
- Dim sdStyle As New Microsoft.Web.UI.WebControls.CssCollection ' SepDefaultStyle
- Dim mpStyle As New Microsoft.Web.UI.WebControls.CssCollection ' Multipage
-
- '--- Définition des styles pour le control TABSTRIP
- tdStyle.CssText = "border-bottom:solid 2px #344C64; padding-top:4px; padding-left:15px; padding-right:5px; background-image:url(tabule_down.gif); background-repeat:no-repeat; width:110;"
- tsStyle.CssText = "border-bottom:none; padding-top:4px; padding-left:30px; padding-right:5px; background-image:url(tabule_img.gif); background-repeat:no-repeat; width:110;"
- thStyle.CssText = "color:#FFFFFF; background-image:url(tabule_over.gif);"
- sdStyle.CssText = "border-bottom:solid 2px #344C64;"
-
- Tab_Strip.ID = "TabStrip"
- Tab_Strip.ForeColor = System.Drawing.Color.FromArgb(0, 0, 51, 102) ' Alpha, Rouge, Vert, Bleu
- Tab_Strip.Font.Size = System.Web.UI.WebControls.FontUnit.Point(11)
- Tab_Strip.Height = System.Web.UI.WebControls.Unit.Point(19)
- Tab_Strip.Font.Name = "Verdana"
- Tab_Strip.Font.Bold = True
-
- Tab_Strip.TabDefaultStyle = tdStyle
- Tab_Strip.TabHoverStyle = thStyle
- Tab_Strip.TabSelectedStyle = tsStyle
- Tab_Strip.SepDefaultStyle = sdStyle
- Tab_Strip.SelectedIndex = 0
- Tab_Strip.TargetID = "Multipage1"
-
- '--- Définition des styles pour le control MULTIPAGE
- M_Page.ID = "Multipage1"
- M_Page.Height = System.Web.UI.WebControls.Unit.Point(100)
- M_Page.CssClass = "MultiItem" ' Utilisation d'un fichier de style CSS définit dans le code HTML
- M_Page.BackColor = System.Drawing.Color.FromArgb(0, 255, 255, 230)
-
-
- Dim Cpt As Integer
- For Cpt = 1 To 3
- Dim Tab As New Microsoft.Web.UI.WebControls.Tab
- Dim Tsep As New Microsoft.Web.UI.WebControls.TabSeparator
- Tab.ID = "Tabule" & Cpt
- Tab.Text = "Tab n° " & Cpt
- Tab_Strip.Items.Add(Tab)
- If Cpt = 3 Then
- Tsep.DefaultStyle.CssText = "width:100%"
- End If
- Tab_Strip.Items.Add(Tsep)
- Next
-
- '--- Création d'un tableau dynamique
- Dim M_Table As New HtmlTable
- Dim M_TR As New HtmlTableRow
- Dim M_TD As New HtmlTableCell
-
- M_Table.Width = "60%"
- M_Table.Align = "Center"
-
- M_TD.InnerText = "Essai du control TABSTRIP totalement dynamique" ' Ajout dans la cellule d'un texte
- M_TD.InnerHtml += "<br><hr>"
- M_TD.Controls.Add(Tab_Strip) ' Ajout du control dynamique TABSTRIP dans la cellule
-
- For Cpt = 1 To 3 ' Ajout de 3 tableaux dynamiques dans chaque PAGEVIEW
- Dim P_View1 As New Microsoft.Web.UI.WebControls.PageView
- Dim M_Table1 As New HtmlTable
- Dim M_TR1 As New HtmlTableRow
- Dim M_TD1 As New HtmlTableCell
- M_TD1.InnerText = "Tabulation " & Cpt
- M_TR1.Cells.Add(M_TD1)
- M_Table1.Rows.Add(M_TR1)
- P_View1.Controls.Add(M_Table1)
- M_Page.Controls.Add(P_View1) ' Ajout du PAGEVIEW dans le MULTIPAGE
- Next
-
- M_TD.Controls.Add(M_Page) ' Ajout du control MULTIPAGE dans la cellule
- M_TR.Cells.Add(M_TD) ' Ajout de la cellule dans la rangée
- M_Table.Rows.Add(M_TR) ' Ajout de la rangée dans le tableau
-
- PlaceHolder1.Controls.Add(M_Table) ' Ajout de tous les controls dynamiques dans le PlaceHolder
-
- End Sub
-
- End Class
***** Code sur la page HTML *****
<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="tab.aspx.vb" Inherits="NetWork.tab"%>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>TabStrip Control</title>
<link rel="STYLESHEET" href="essai.css" type="text/css">
</head>
<body ms_positioning="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:placeholder id="PlaceHolder1" runat="server"></asp:placeholder>
</form>
</body>
</html>
***** Code behind *****
Public Class tab
Inherits System.Web.UI.Page
#Region " Code généré par le Concepteur Web Form "
'Cet appel est requis par le Concepteur Web Form.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents PlaceHolder1 As System.Web.UI.WebControls.PlaceHolder
'REMARQUE : la déclaration d'espace réservé suivante est requise par le Concepteur Web Form.
'Ne pas supprimer ou déplacer.
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form
'Ne le modifiez pas en utilisant l'éditeur de code.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Tab_Strip As New Microsoft.Web.UI.WebControls.TabStrip
Dim M_Page As New Microsoft.Web.UI.WebControls.MultiPage
Dim tdStyle As New Microsoft.Web.UI.WebControls.CssCollection ' TabDefaultStyle
Dim thStyle As New Microsoft.Web.UI.WebControls.CssCollection ' TabHoverStyle
Dim tsStyle As New Microsoft.Web.UI.WebControls.CssCollection ' TabSelectedStyle
Dim sdStyle As New Microsoft.Web.UI.WebControls.CssCollection ' SepDefaultStyle
Dim mpStyle As New Microsoft.Web.UI.WebControls.CssCollection ' Multipage
'--- Définition des styles pour le control TABSTRIP
tdStyle.CssText = "border-bottom:solid 2px #344C64; padding-top:4px; padding-left:15px; padding-right:5px; background-image:url(tabule_down.gif); background-repeat:no-repeat; width:110;"
tsStyle.CssText = "border-bottom:none; padding-top:4px; padding-left:30px; padding-right:5px; background-image:url(tabule_img.gif); background-repeat:no-repeat; width:110;"
thStyle.CssText = "color:#FFFFFF; background-image:url(tabule_over.gif);"
sdStyle.CssText = "border-bottom:solid 2px #344C64;"
Tab_Strip.ID = "TabStrip"
Tab_Strip.ForeColor = System.Drawing.Color.FromArgb(0, 0, 51, 102) ' Alpha, Rouge, Vert, Bleu
Tab_Strip.Font.Size = System.Web.UI.WebControls.FontUnit.Point(11)
Tab_Strip.Height = System.Web.UI.WebControls.Unit.Point(19)
Tab_Strip.Font.Name = "Verdana"
Tab_Strip.Font.Bold = True
Tab_Strip.TabDefaultStyle = tdStyle
Tab_Strip.TabHoverStyle = thStyle
Tab_Strip.TabSelectedStyle = tsStyle
Tab_Strip.SepDefaultStyle = sdStyle
Tab_Strip.SelectedIndex = 0
Tab_Strip.TargetID = "Multipage1"
'--- Définition des styles pour le control MULTIPAGE
M_Page.ID = "Multipage1"
M_Page.Height = System.Web.UI.WebControls.Unit.Point(100)
M_Page.CssClass = "MultiItem" ' Utilisation d'un fichier de style CSS définit dans le code HTML
M_Page.BackColor = System.Drawing.Color.FromArgb(0, 255, 255, 230)
Dim Cpt As Integer
For Cpt = 1 To 3
Dim Tab As New Microsoft.Web.UI.WebControls.Tab
Dim Tsep As New Microsoft.Web.UI.WebControls.TabSeparator
Tab.ID = "Tabule" & Cpt
Tab.Text = "Tab n° " & Cpt
Tab_Strip.Items.Add(Tab)
If Cpt = 3 Then
Tsep.DefaultStyle.CssText = "width:100%"
End If
Tab_Strip.Items.Add(Tsep)
Next
'--- Création d'un tableau dynamique
Dim M_Table As New HtmlTable
Dim M_TR As New HtmlTableRow
Dim M_TD As New HtmlTableCell
M_Table.Width = "60%"
M_Table.Align = "Center"
M_TD.InnerText = "Essai du control TABSTRIP totalement dynamique" ' Ajout dans la cellule d'un texte
M_TD.InnerHtml += "<br><hr>"
M_TD.Controls.Add(Tab_Strip) ' Ajout du control dynamique TABSTRIP dans la cellule
For Cpt = 1 To 3 ' Ajout de 3 tableaux dynamiques dans chaque PAGEVIEW
Dim P_View1 As New Microsoft.Web.UI.WebControls.PageView
Dim M_Table1 As New HtmlTable
Dim M_TR1 As New HtmlTableRow
Dim M_TD1 As New HtmlTableCell
M_TD1.InnerText = "Tabulation " & Cpt
M_TR1.Cells.Add(M_TD1)
M_Table1.Rows.Add(M_TR1)
P_View1.Controls.Add(M_Table1)
M_Page.Controls.Add(P_View1) ' Ajout du PAGEVIEW dans le MULTIPAGE
Next
M_TD.Controls.Add(M_Page) ' Ajout du control MULTIPAGE dans la cellule
M_TR.Cells.Add(M_TD) ' Ajout de la cellule dans la rangée
M_Table.Rows.Add(M_TR) ' Ajout de la rangée dans le tableau
PlaceHolder1.Controls.Add(M_Table) ' Ajout de tous les controls dynamiques dans le PlaceHolder
End Sub
End Class
Conclusion
Ce code est écrit avec Visual Studio 2003 et un Framework version 1.1.4322. Il est nécessaire de se munir avant tout des outils WebControls sur le site de Microsoft à l'adresse suivante pour la version francaise :
http://www.microsoft.com/downloads/details.aspx ?displaylang=fr&FamilyID=FAC6350C-8AD6-4BCA-8860-8 A6AE3F64448
Si vous avez des remarques ou si j'ai des erreurs de concept, je suis bien sûr à votre écoute et j'essayerais d'y répondre ou de mettre à jour cet exemple.
Merci de me communiquer vos remarques et de me noter.
Historique
- 23 juillet 2004 08:16:15 :
- J'ai tout simplement oublié de valider que le code est en ASP.NET et écrit en VB.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
TABSTRIP : je recherche un exemple ou une aide sur ce webcontrol [ par sehn ]
help, je débute en ASP.NET . Je n'arrive pas a le configurer graphiquementSeHN
ASP.net-VB.net TabStrip-Tab-Multipage-Pageview et création dynamique de contrôles [ par Mikadso ]
Bonjour à tous, j'ai un problème(dès mon premier post). Ok. Je suis présentement chargé de créer une pa
Rangement automatique dans onglet (WebControl / C#) [ par Bubuss ]
Salut à tous! J'aurai souhaité que, lorsque j'importe mes webcontrols de ma dll, ces derniers se rangent de manière automatique dans des onglets exist
DropDownList action dynamique [ par Cisaks ]
Voila j'ai une DropDownList et deux RadioButton je voudrais faire en sorte que lorsque je je selectionne une item dans ma DropDownList une action dans
Lire à partir d'un Datagrid [ par Amine ]
Salut tout le mondeMon problème est le suivant: j'ai dans une webForm un datagrid (datagrid1) qui contient une colonne dynamique de type HyperLink (Li
Création dynamique de champs [ par quineman ]
Je souhaite créer un formulaire dépendant d'un nombre définit par l'utilisateur.Si l'utilisateur souhaite 6 personnes, alors 6 formulaire de renseigne
multisite dynamique (suite Limite des Themes et de la personnalisation) [ par quineman ]
Pour faire suite au sujet lancé sur les thèmes, j'apprécierais avoir quelques éclaircissements sur la gestion multisite. (Une seul application web pou
connection string dynamique [ par quineman ]
Vous connaissez surment le tag <connectionString> de votre fichier de configuration web.config. Il permet de stocker toutes vos chaines de conne
dropdownlist dynamique [ par drjey ]
Salut j'ai fait une dropdownlist avec visual studio 2003, en mode design, j'ai mis le datasource, datamember, datatextfield, datavaluefield mais elle
webcontrol Label et WIDTH pb de redimensionnement [ par magat ]
J'ai placé des webcontrol label dans un tableau <Table> le tout dans un datalistLe probleme en fonction de la taille des string pour les labels
|
Derniers Blogs
L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson
Forum
UTILISATEURUTILISATEUR par zaydounhlel
Cliquez pour lire la suite par zaydounhlel RE : VIRUSRE : VIRUS par ghuysmans99
Cliquez pour lire la suite par ghuysmans99
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|