Accueil > > > ASP.NET - USER CONTROL SIMPLE DE GRAPHIQUE DE RÉPARTITION
ASP.NET - USER CONTROL SIMPLE DE GRAPHIQUE DE RÉPARTITION
Information sur la source
Description
Il est souvent pratique dans des projets internes de faire des statistiques sur des réponses (par exemple dans le cadre d'un sondage), en gros savoir combien de personne a choisi telle réponse.
Mais il est encore mieu de pouvoir faire un petit graphique qui donne une idée générale très rapidement (un petit histogramme simple).
Je vous fourni donc un petit exemple simple sous forme de User Control avec 5 réponses que vous pouvez adapter à loisir dans vos propres projets.
Source
- ' Code source du fichier ASCX
-
- <%@ Control Language="vb" AutoEventWireup="false" Codebehind="GraphRepartition.ascx.vb" Inherits="MonProjet.GraphRepartition" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
- <TABLE id="GraphRepartition" height="30" cellSpacing="1" cellPadding="1" width="50" border="0" runat="server">
- <TR>
- <TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal5" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph5.gif"></asp:image></TD>
- <TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal4" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph4.gif"></asp:image></TD>
- <TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal3" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph3.gif"></asp:image></TD>
- <TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal2" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph2.gif"></asp:image></TD>
- <TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal1" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph1.gif"></asp:image></TD>
- </TR>
- </TABLE>
-
- ' ------------------------------------------------
- ' Code Source ASCX.VB
-
- Public MustInherit Class GraphRepartition
- Inherits System.Web.UI.UserControl
- Protected WithEvents ImageVal5 As System.Web.UI.WebControls.Image
- Protected WithEvents ImageVal3 As System.Web.UI.WebControls.Image
- Protected WithEvents ImageVal2 As System.Web.UI.WebControls.Image
- Protected WithEvents ImageVal1 As System.Web.UI.WebControls.Image
- Protected WithEvents ImageVal4 As System.Web.UI.WebControls.Image
-
- Private _HauteurMax As Integer = 50
- Private _val5 As Integer = 0
- Private _val4 As Integer = 0
- Private _val3 As Integer = 0
- Private _val2 As Integer = 0
- Private _val1 As Integer = 0
- Private _NbReponses As Integer = 1
-
- #Region "Liste des Propriétées Publiques"
- Public Property HauteurMax() As String
- Get
- Return _HauteurMax
- End Get
- Set(ByVal Value As String)
- _HauteurMax = Value
- End Set
- End Property
- Public Property Val5() As String
- Get
- Return _val5
- End Get
- Set(ByVal Value As String)
- _val5 = Value
- End Set
- End Property
- Public Property Val4() As String
- Get
- Return _val4
- End Get
- Set(ByVal Value As String)
- _val4 = Value
- End Set
- End Property
- Public Property Val3() As String
- Get
- Return _val3
- End Get
- Set(ByVal Value As String)
- _val3 = Value
- End Set
- End Property
- Public Property Val2() As String
- Get
- Return _val2
- End Get
- Set(ByVal Value As String)
- _val2 = Value
- End Set
- End Property
- Public Property Val1() As String
- Get
- Return _val1
- End Get
- Set(ByVal Value As String)
- _val1 = Value
- End Set
- End Property
- Public Property NbReponses() As String
- Get
- Return _NbReponses
- End Get
- Set(ByVal Value As String)
- If Value <> 0 Then
- _NbReponses = Value
- End If
- End Set
- End Property
- #End Region
-
- #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
-
- 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
-
- ImageVal5.Style.Add("height", Math.Round(((_val5 * _HauteurMax) / _NbReponses), 0))
- ImageVal4.Style.Add("height", Math.Round(((_val4 * _HauteurMax) / _NbReponses), 0))
- ImageVal3.Style.Add("height", Math.Round(((_val3 * _HauteurMax) / _NbReponses), 0))
- ImageVal2.Style.Add("height", Math.Round(((_val2 * _HauteurMax) / _NbReponses), 0))
- ImageVal1.Style.Add("height", Math.Round(((_val1 * _HauteurMax) / _NbReponses), 0))
- End Sub
-
- ' -----------------------------------------------------
- End Class
-
- ' ------------------------------------------------
- ' Appel simple depuis un Datagrid
-
- <asp:TemplateColumn HeaderText="" ItemStyle-Width="50">
- <ItemTemplate>
- <uc1:GraphRepartition
- id="GraphRepartition1" runat="server"
- Val5='<%# CType(DataBinder.Eval(Container.DataItem,"NbReponse5"), integer)%>'
- Val4='<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponse4"), integer)%>'
- Val3='<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponse3"), integer)%>'
- Val2='<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponse2"), integer)%>'
- Val1='<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponse1"), integer)%>'
- NbReponses= '<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponseTotal"), integer)%>'
- HauteurMax='50'>
- </uc1:GraphRepartition>
- </asp:Image>
- </ItemTemplate>
- </asp:TemplateColumn>
' Code source du fichier ASCX
<%@ Control Language="vb" AutoEventWireup="false" Codebehind="GraphRepartition.ascx.vb" Inherits="MonProjet.GraphRepartition" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
<TABLE id="GraphRepartition" height="30" cellSpacing="1" cellPadding="1" width="50" border="0" runat="server">
<TR>
<TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal5" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph5.gif"></asp:image></TD>
<TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal4" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph4.gif"></asp:image></TD>
<TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal3" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph3.gif"></asp:image></TD>
<TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal2" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph2.gif"></asp:image></TD>
<TD vAlign="bottom" align="middle" width="10" height="30"><asp:image id="ImageVal1" runat="server" Width="10" ImageUrl="/MonProjet/images/BaseGraph1.gif"></asp:image></TD>
</TR>
</TABLE>
' ------------------------------------------------
' Code Source ASCX.VB
Public MustInherit Class GraphRepartition
Inherits System.Web.UI.UserControl
Protected WithEvents ImageVal5 As System.Web.UI.WebControls.Image
Protected WithEvents ImageVal3 As System.Web.UI.WebControls.Image
Protected WithEvents ImageVal2 As System.Web.UI.WebControls.Image
Protected WithEvents ImageVal1 As System.Web.UI.WebControls.Image
Protected WithEvents ImageVal4 As System.Web.UI.WebControls.Image
Private _HauteurMax As Integer = 50
Private _val5 As Integer = 0
Private _val4 As Integer = 0
Private _val3 As Integer = 0
Private _val2 As Integer = 0
Private _val1 As Integer = 0
Private _NbReponses As Integer = 1
#Region "Liste des Propriétées Publiques"
Public Property HauteurMax() As String
Get
Return _HauteurMax
End Get
Set(ByVal Value As String)
_HauteurMax = Value
End Set
End Property
Public Property Val5() As String
Get
Return _val5
End Get
Set(ByVal Value As String)
_val5 = Value
End Set
End Property
Public Property Val4() As String
Get
Return _val4
End Get
Set(ByVal Value As String)
_val4 = Value
End Set
End Property
Public Property Val3() As String
Get
Return _val3
End Get
Set(ByVal Value As String)
_val3 = Value
End Set
End Property
Public Property Val2() As String
Get
Return _val2
End Get
Set(ByVal Value As String)
_val2 = Value
End Set
End Property
Public Property Val1() As String
Get
Return _val1
End Get
Set(ByVal Value As String)
_val1 = Value
End Set
End Property
Public Property NbReponses() As String
Get
Return _NbReponses
End Get
Set(ByVal Value As String)
If Value <> 0 Then
_NbReponses = Value
End If
End Set
End Property
#End Region
#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
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
ImageVal5.Style.Add("height", Math.Round(((_val5 * _HauteurMax) / _NbReponses), 0))
ImageVal4.Style.Add("height", Math.Round(((_val4 * _HauteurMax) / _NbReponses), 0))
ImageVal3.Style.Add("height", Math.Round(((_val3 * _HauteurMax) / _NbReponses), 0))
ImageVal2.Style.Add("height", Math.Round(((_val2 * _HauteurMax) / _NbReponses), 0))
ImageVal1.Style.Add("height", Math.Round(((_val1 * _HauteurMax) / _NbReponses), 0))
End Sub
' -----------------------------------------------------
End Class
' ------------------------------------------------
' Appel simple depuis un Datagrid
<asp:TemplateColumn HeaderText="" ItemStyle-Width="50">
<ItemTemplate>
<uc1:GraphRepartition
id="GraphRepartition1" runat="server"
Val5='<%# CType(DataBinder.Eval(Container.DataItem,"NbReponse5"), integer)%>'
Val4='<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponse4"), integer)%>'
Val3='<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponse3"), integer)%>'
Val2='<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponse2"), integer)%>'
Val1='<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponse1"), integer)%>'
NbReponses= '<%# Ctype(DataBinder.Eval(Container.DataItem,"NbReponseTotal"), integer)%>'
HauteurMax='50'>
</uc1:GraphRepartition>
</asp:Image>
</ItemTemplate>
</asp:TemplateColumn>
Conclusion
Bon Coding
Romelard Fabrice (Alias F___)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice 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
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
|