begin process at 2010 03 21 13:11:39
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > COMMENT GÉNÉRER LE WEBCONTROL TABSTRIP TOTALEMENT EN DYNAMIQUE

COMMENT GÉNÉRER LE WEBCONTROL TABSTRIP TOTALEMENT EN DYNAMIQUE


 Information sur la source

Note :
8 / 10 - par 3 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :webcontrol, tab, onglet, tabstrip, dynamique Niveau :Initié Date de création :23/07/2004 Date de mise à jour :23/07/2004 08:16:15 Vu / téléchargé :18 550 / 899

Auteur : ryckbosch

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 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

Source .NET (Dotnet) UPPERCASE OU LOWERCASE DANS UN TEXBOX EN ASP.NET

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID... par jesusonline
Source avec Zip Source .NET (Dotnet) CUSTOM DATEPIKER DÉRIVANT DE COMPOSITECONTROL par fredzool
Source avec Zip UN MODULE POUR APPRENDRE SQL par Elmarzougui
Source avec Zip Source .NET (Dotnet) BOUTON QUI EMPECHE LE MULTI CLIC AVANT LA FIN DU TRAITEMENT.... par fredzool
Source avec Zip Source .NET (Dotnet) BOUTON AVEC CSS ET USERCONTROL WITH EVENT par fredzool

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) WEBCONTROL DATEPICKER WEBCONTROLLIBRARY par fredzool
Source avec une capture Source .NET (Dotnet) .NET 2.0: CONTRÔLE IMAGE VIEWER / UPLOADER par gldfdp
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT par jesusonline
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA... par jesusonline
Source avec Zip Source .NET (Dotnet) COMPACTER DU JAVASCRIPT par jesusonline

Commentaires et avis

Commentaire de stailer le 23/07/2004 09:15:43

Super ! Merci beaucoup !

J'ai plus "qu'à" tout traduire en C# et c'est gagné ! : )

A++

Commentaire de stailer le 23/07/2004 09:18:38

Ps: j'ai mis 7/10, mais pour moi 7 est une super note.
Des fois on voit fleurir des 8 ou des 9 pour un oui ou pour un non... Bon... Ca fait un peu l'école des fans quoi.
Avec Nix en Jacques Martin : ))

Commentaire de milanko le 02/06/2005 16:49:49

Bonjour, si vous l'avez traduit en C# je serais reconnaissable. :o)

Commentaire de milanko le 06/07/2005 10:16:35

http://www.developerfusion.com/utilities/convertvbtocsharp.aspx

Commentaire de surferbum le 13/02/2006 19:30:43

ryckbosch,

Super et facile à utiliser. Par contre je rencontre un petit problème de performance. Je veux mettre dans les pages des informations que je tire d'une bd, et cette information diffère pour chaque page.

Exemple, je cherche à mettre les ID des clients sur les onglets et leurs infos dans les pages. Tu comprends que ça vient lourd assez rapidement. Je cherche à faire un refresh de la page lorsque je change d'onglet

As-tu une idée de comment faire ?

Merci.

Commentaire de Savoy le 16/11/2006 16:33:28

Merci pour le code,

Tout est OK mais il ne me reconnait pas le tag <iewc:pageview> dans ma page, alors que côté C# il le voit bien avec Microsoft.Web.UI.Webcontrols.Pageview

C'est OK pour les autres (tabscript, multipage, ...) mais pas pour pageview.

Conséquence, mes onglets ne fonctionnent pas et je vois la totalité des 3 onglets à l'écran.

Je cherche ...

Si quelqu'un a une idée je suis preneur.

Merci
Pierre

Commentaire de frabag le 14/03/2007 14:49:37

même probleme avec le page view!!!
QQun a une solution?

Commentaire de karima1972 le 06/04/2007 17:04:51

SVP il ne connait l'espace de nom Microsoft.Web.UI.WebControls, dois-je ajouter une reference? ou  quoi Merci

Commentaire de redam le 10/08/2007 15:11:04

J'ai le même problème que SAVOY sur mon appli sous visual mais le probleme n'y est plus sur le serveur alors que c'est le même fichier... Il doit y avoir un problème de config queck part ???

Commentaire de ryckbosch le 10/08/2007 15:21:56

Bonjour,

Ca fait longtemps que je ne suis pas venu voir ici.
A la lecture de vos commentaires, je ne sais pas trop quoi répondre. Le code qui est présenté ici est vraiment celui qui tourne sur mon site et je n'ai pas les pb que vous évoquez.

J'ai de ce fait un peu de mal à vous aider.
Je ne pourrais vous conseiller de bien consulter vos déclarations ou vos en-tête. J'ai eu moi-même plusieurs fois des pb à cause de ces déclarations plus ou moins automatique par Visual Studio.

Cordialement à tous et toutes,
Alain

 Ajouter un commentaire


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 &#224; tous,&nbsp;&nbsp;&nbsp;j'ai un probl&#232;me(d&#232;s mon premier post). Ok. Je suis pr&#233;sentement charg&#233; de cr&#233;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 &lt;connectionString&gt; 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 &lt;Table&gt; le tout dans un datalistLe probleme en fonction de la taille des string pour les labels


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales