Addyshedule : visualiseur de programmes

Soyez le premier à donner votre avis sur cette source.

Vue 15 542 fois - Téléchargée 2 464 fois

Description

Dans certains de vos programmes, il vous est certainement arrivé de génèrer un programme (planning, emploi du temps, ...). Le problème, c'est qu'aucun des contrôles Windows Forms standards ne semble avoir été conçu pour afficher ce genre de structure de données. Même l'outil Crystal Reports pourtant intégré à VS.NET ne semble pas être désigné pour ce genre de choses. Il existe certes des solutions sophistiquées mais elles coûtent leur prix. Dans cette source, vous découvrirez un contrôle qui vous permet de visualiser (et même d'éditer) vos programmes, planning et emplois du temps. La démo illustre de son utilisation.

Conclusion :


La demo est écrite en C# pour mettre en évidence l'indépendance des Composants .NET vis à vis du langage dans lequel ils ont étés créés.
AddyShedule et AddyPictureBox font partie d'une bibliothèque de composants personnels. voilà pourquoi vous trouverez de nombreux éléments communs à ces deux sources.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

zaimfaycal
Messages postés
7
Date d'inscription
dimanche 18 octobre 2009
Statut
Membre
Dernière intervention
6 janvier 2010
-
merci Addy
mais jé pas bien compris ce que tu veux dire de "d'en garder une instance dans la propriété Tag de chaque SheduleItem" et aussi pour l'évènement FormatItem :S
est ce que vous m'expliquer
et mercii :)
cs_addy
Messages postés
39
Date d'inscription
lundi 3 janvier 2005
Statut
Membre
Dernière intervention
20 mars 2009
-
En fait tu n'as pas vraiment besoin de modifier la structure de SheduleItem. Il suffit de créer une classe utilitaire pour stocker toute information additionnelle (Filière, Niveau, Groupe, ...) et d'en garder une instance dans la propriété Tag de chaque SheduleItem. Tu pourras ensuite exploiter ces informations dans ton gestionnaire de FormatItem. Dans tous les cas, même en gardant ton approche, c'est dans le gestionnaire de l'évènement FormatItem que tu personnalise l'apparence de tes items. J'espère que cette indication t'aidera. Allez, bonne programmation.
zaimfaycal
Messages postés
7
Date d'inscription
dimanche 18 octobre 2009
Statut
Membre
Dernière intervention
6 janvier 2010
-
Salut
Merci addy pour l’aide, mais j'ai tjrs un problème, c que pour mon projet le 'SheduleItem' dois contenir les champs suivant :

Jour as single
Heuredebut as single
HeureFin As Single
Tag As Object
Formateur As String
Annéeformation As String
Secteur As String
Filiere As String
Niveau As String
Groupe As String
Modul As String
Salle As String
Minutedebut As Double
MinuteFin As Double
J'ai refait le code du SheduleItem (j'ai pu réalisé ce code):


'Début du code

Imports System.ComponentModel


< _
ToolboxItem(False), _
DesignTimeVisible(False) _
> _
Public Class SheduleItem
Inherits Component
#Region " Champs "
Private _CODE As String
' Private m_Category As Integer
Private _Jour As Integer
Private m_SubRow As Integer
Private _Heuredebut As Single
Private _HeureFin As Single
Private _Tag As Object
Private _Formateur As String
Private _Annéeformation As String
Private _Secteur As String
Private _Filiere As String
Private _Niveau As String
Private _Groupe As String
Private _Modul As String
Private _Salle As String
Private _Minutedebut As Double
Private _MinuteFin As Double
#End Region

#Region " Constructeurs "
Public Sub New()
MyBase.New()
End Sub

Public Sub New(ByVal text As String)
MyBase.New()
_CODE = text
End Sub

Public Sub New(ByVal text As String, ByVal row As Integer, ByVal subRow As Integer, _
ByVal firstCol As Single, ByVal lastCol As Single)
MyBase.New()
_CODE = text
_Jour = row
_Heuredebut = firstCol
_HeureFin = lastCol
End Sub
#End Region

#Region " Propriétés "
< _
Category("Appearance"), _
Description("Texte qui s'affiche sur la cellule"), _
DefaultValue("") _
> _
Public Property Text() As String
Get
Return _CODE
End Get
Set(ByVal Value As String)
_CODE = Value
OnTextChanged(EventArgs.Empty)
End Set
End Property

'< _
'Category("Appearance"), _
'Description("Renvoie/Défini la catégorie à laquelle la cellule appartient"), _
'DefaultValue(0) _
'> _
'Public Property Category() As Integer
' Get
' Return m_Category
' End Get
' Set(ByVal Value As Integer)
' m_Category = Value
' OnCategoryChanged(EventArgs.Empty)
' End Set
'End Property

< _
Category("Coordonnées"), _
Description("Renvoie/Défini le numéro de ligne de la cellule"), _
DefaultValue(0) _
> _
Public Property Row() As Integer
Get
Return _Jour
End Get
Set(ByVal Value As Integer)
_Jour = Value
OnRowChanged(EventArgs.Empty)
End Set
End Property

< _
Category("Coordonnées"), _
Description("Renvoie/Défini la division de ligne dans laquelle la cellule apparaît"), _
DefaultValue(0) _
> _
Public Property SubRow() As Integer
Get
Return m_SubRow
End Get
Set(ByVal Value As Integer)
m_SubRow = Value
OnSubRowChanged(EventArgs.Empty)
End Set
End Property

< _
Category("Coordonnées"), _
Description("Renvoie/Défini la colonne qui délimite la cellule à gauche"), _
DefaultValue(8.0F) _
> _
Public Property FirstColumn() As Single
Get
Return _Heuredebut
End Get
Set(ByVal Value As Single)
_Heuredebut = Value
OnFirstColumnChanged(EventArgs.Empty)
End Set
End Property

< _
Category("Coordonnées"), _
Description("Renvoie/Défini la colonne qui délimite la cellule à droite"), _
DefaultValue(8.0F) _
> _
Public Property LastColumn() As Single
Get
Return _HeureFin
End Get
Set(ByVal Value As Single)
_HeureFin = Value
OnLastColumnChanged(EventArgs.Empty)
End Set
End Property

< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Tag() As Object
Get
Return _Tag
End Get
Set(ByVal Value As Object)
_Tag = Value
End Set
End Property
< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Formateur() As String
Get
Return _Formateur
End Get
Set(ByVal value As String)
_Formateur = value
End Set
End Property
< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Annéeformation() As String
Get
Return _Annéeformation
End Get
Set(ByVal value As String)
_Annéeformation = value
End Set
End Property

< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Secteur() As String
Get
Return _Secteur
End Get
Set(ByVal value As String)
_Secteur = value
End Set
End Property

< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Niveau() As String
Get
Return _Niveau
End Get
Set(ByVal value As String)
_Niveau = value
End Set
End Property
< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Filiere() As String
Get
Return _Filiere
End Get
Set(ByVal value As String)
_Filiere = value
End Set
End Property


< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Groupe() As String
Get
Return _Groupe
End Get
Set(ByVal value As String)
_Groupe = value
End Set
End Property
< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Minutedebut() As Double
Get
Return _Minutedebut
End Get
Set(ByVal value As Double)
_Minutedebut = value
End Set
End Property
< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property MinuteFin() As Double
Get
Return _MinuteFin
End Get
Set(ByVal value As Double)
_MinuteFin = value
End Set
End Property
< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Modul() As String
Get
Return _Modul
End Get
Set(ByVal value As String)
_Modul = value
End Set
End Property
< _
Category("Data"), _
Description("Donnée quelconque associée à la cellule"), _
TypeConverter("System.ComponentModel.StringConverter, System") _
> _
Public Property Salle() As String
Get
Return _Salle
End Get
Set(ByVal value As String)
_Salle = value
End Set
End Property

_
Public ReadOnly Property Width() As Single
Get
Return _HeureFin - _Heuredebut
End Get
End Property
#End Region

#Region " Evènements "
Public Event TextChanged(ByVal sender As Object, ByVal e As EventArgs)
Protected Overridable Sub OnTextChanged(ByVal e As EventArgs)
RaiseEvent TextChanged(Me, e)
End Sub

Public Event CategoryChanged(ByVal sender As Object, ByVal e As EventArgs)
Protected Overridable Sub OnCategoryChanged(ByVal e As EventArgs)
RaiseEvent CategoryChanged(Me, e)
End Sub

Public Event RowChanged(ByVal sender As Object, ByVal e As EventArgs)
Protected Overridable Sub OnRowChanged(ByVal e As EventArgs)
RaiseEvent RowChanged(Me, e)
End Sub

Public Event SubRowChanged(ByVal sender As Object, ByVal e As EventArgs)
Protected Overridable Sub OnSubRowChanged(ByVal e As EventArgs)
RaiseEvent SubRowChanged(Me, e)
End Sub

Public Event FirstColumnChanged(ByVal sender As Object, ByVal e As EventArgs)
Protected Overridable Sub OnFirstColumnChanged(ByVal e As EventArgs)
RaiseEvent FirstColumnChanged(Me, e)
End Sub

Public Event LastColumnChanged(ByVal sender As Object, ByVal e As EventArgs)
Protected Overridable Sub OnLastColumnChanged(ByVal e As EventArgs)
RaiseEvent LastColumnChanged(Me, e)
End Sub
#End Region

End Class


'Fin du code


mais ça marche pas
je me demande est ce que vous pouvez m'aider
et mercii
cs_addy
Messages postés
39
Date d'inscription
lundi 3 janvier 2005
Statut
Membre
Dernière intervention
20 mars 2009
-
Bien sûr qu'il est possible de stocker les données sur n'importe quel support. Si tu as une BDD avec une table pour le planning, il suffit de charger le contenu de cette dans un DataSet (un bon tuto sur VB.Net t'expliquera comment). Pour le reste, c'est presque sans changement.
zaimfaycal
Messages postés
7
Date d'inscription
dimanche 18 octobre 2009
Statut
Membre
Dernière intervention
6 janvier 2010
-
merciii, mais j'ai constaté que les donnée se stock sur un fichier xml ,est ce que c'est possible de les stocké dans une base de donné SQL SERVER :D et comment si c’est possible :p
Et désolé pour le dérangement

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.