IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Moyen de generer des tableau : WebControl, ServiceWeb ou autre?


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut Moyen de generer des tableau : WebControl, ServiceWeb ou autre?
    Bonjour a tous,
    Je suis en train de developper un backoffice dans lequelle on retrouve souvent des tableaux qui liste des contenus, des utilisateurs...
    J'aurais voulu savoir vers quoi je peut me diriger pour generer des tableaux une seul fois sans utiliser les gridview, dataview et autre control fourni par le framework.

    Je developpai avant en coldfusion qui accepte de creer des objet "graphique" sans probleme donc le soucis ne se posait pas.

    J'ai fait quelque recherche, et le webcontrol me parrait une bonne idée mais je n'arrive pas a trouver comment on peut passer des parametres que l'on crée à celui ci comme la table à lire ou les entete des colonnes du tableau.
    J'ai aussi vu qu'il y avai aussi la possibilité de creer des dll pour interagir avec ceux la mais je ne trouve rien qui m'aide puisque je ne sais pas trop ou chercher.

    Si vous pouviez me donner quelques liens, "tuto" ou des idées des développement.

    Merci d'avance

    Mael
    http://mael-decoster.fr
    Développeur indépendant d'applications web
    http://www.easy-media.fr

  2. #2
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Pour le tuto, va sur le site, ils sont accessibles depuis la page d'acceuil.

    Sinon, pour ton histoire de composant, ça me parait un peu osé de vouloire faire une tableau qiuo va marcher dans tous les cas, amis bon, pourquoi pas.
    Moi, je dirigerais vers un ASCX (fichier de composant utilisateur) qui contient un GridView.
    Dna sun ASCX tu peux mettre de PROPERTY ce qui te permet de lui envoyer des informations en fonctiond e l'endroit où tu place ton composant.

    Enfin, vu le discrous que tu tiens sur les DLL, j'ai l'impression que tu débute véritablement avec .NET.

    ALors mon meilleur conseil sera : prend vraiment le temps de bien regarder (par recherche sur le NET) comment fonctionne .NET et surtout al programmation objet. ColdFusion, c'est du scripting, comme ASP ou PHP et la façon de faire est radicalement différente en .NET.

    @+
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Bonjour

    Edit:Au vu du post de zoofy, je précise que je parle du composant WebControl qui génère un dll et non pas d'un composant utilisateur ASCX

    Lorsque tu fais un WebControl à la main, c'est à dire sans surcharger un Control ASP.Net, tu créés un objet avec quelques propriétés et principalement une méthode Render(). Pour éviter des explications laborieuses et inefficaces, voilà un petit bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <DefaultProperty("Text"), ToolboxData("<{0}:Composant_WebControl runat=server></{0}:Composant_WebControl >")> _
        Public Class WebCom_GenereTable
        Inherits WebControl
     
         Private _Prop1 As String = ""
        Private _Prop2 As String = ""
        Private _Prop3 As String = ""
        Private _Prop4 As String = ""
        Private _Prop5 As String = ""
     
      <Bindable(True), Localizable(True), Category("Appearance"), DefaultValue("")> Property Prop1 () As String
            Get
                Return _Prop1 
            End Get
            Set(ByVal Value As String)
                _Prop1 = Value
            End Set
        End Property
     
      <Bindable(True), Localizable(True), Category("Appearance"), DefaultValue("")> Property Prop2 () As String
            Get
                Return _Prop2 
            End Get
            Set(ByVal Value As String)
                _Prop2 = Value
            End Set
        End Property
     
       '.... Ainsi de suite pour chaque propriétés 
     
      '-----------------------------------------------------------------------------------------------------
        'Méthode d'affichage en sortie du composant
        Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
            ' Variable temporaire qui contient le flux HTML à renvoyer
            Dim sTemp As New System.Text.StringBuilder
            Try
                '-----------------------------------------------------
                'C'est là que tu génères ton tableau
                sTemp .AppendText="<table class='" & _prop1 & "' >"
                sTemp .AppendText="<tr>"
                sTemp .AppendText="<td>"
                ........
                sTemp .AppendText=_prop2
                sTemp .AppendText="</td>"
                ........
                sTemp .AppendText="</tr>"
                sTemp .AppendText="</table>
                'Chargement du flux HTML en sortie
                output.Write(sTemp)
            End Try
        End Sub
    Voilà en espérant que ça te fasse un peu avancer

    A bientôt
    "Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison" (Bernard Weber "Le mystere des dieux")

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    Merci pour vos réponses,

    zooffy, effectivement, je debute en .Net mais je commence a comprendre le fonctionnement. Les web services et user control sont la prochaine etape de mon apprentissage et je trouve beaucoup de chose parlant de ca mais rien qui ne me convient vraiment.
    Je pense que pour mon problème, les web services ne sont pas la solutions a mon problème.
    En fait, je suis sur que c'est un user control qu'il me faut mais l'exemple des tableaux est peut etre mal chosit. Je pense que j'ai très mal posé mon expliquer de base voir il fallait etre devin pour le deviner. Je me suis trop acces sur ces tableaux.
    Je m'explique.
    J'ai telecharger un version d'evaluation d'un excelent control WYSIWYG cute editor et en integrant ce control à mes pages, il etait possible de doner des valeurs à des attributs créé pour ce control.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <CE:Editor id="Editor1" EditorWysiwygModeCss="../example.css" Height="200" runat="server" TemplateItemList="Bold,Italic,Underline,JustifyLeft,JustifyCenter,JustifyRight,InsertUnorderedList,Separator,Indent, Outdent, insertcustombutonhere"></CE:Editor>
    On voit bien dans cet appel les attribut specifique à ce control. En fait, ma question est, ou puis-je me renseigner pour créer un web control auquel je peut donner des attributs propre à lui? Tout ce que je trouve c'est comment créer un web control simple auquel je ne peut rien passer en parametre.

    Merci beaucoup pour votre aide.

    Maël
    http://mael-decoster.fr
    Développeur indépendant d'applications web
    http://www.easy-media.fr

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    (Re) Bonjour

    Le code que je t'ai mit au dessus répond à ta question . Dans la création de ton web control, tu ajoutes autant de propriétés publiques que tu veux d'attributs et elle apparaitront dans la fenêtre propriétés du composants dans VS.

    Aprés ce que je dis est valable pour les WebControl sous forme de DLL et pas pour les UserControl Ascx .
    "Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison" (Bernard Weber "Le mystere des dieux")

  6. #6
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Mafyoso te donne une trés bonne solution, peut être un poil trop avancée.

    Avec un userControl (ASCX) tu peux également avoir des propriétés. Voici un squelette de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Imports System.Data
    'là tu inscrit tous tes imports en fonction de ce que tu dois utiliser comme classe.
    Partial Class Annonce_passer
    	Inherits System.Web.UI.UserControl
    	Private _GenreAnnonce As String
    'là tu définis une variable interne en vue de création de ta proriété
    	Public Property GenreAnnonce() As String
    		Get
    			Return _GenreAnnonce
    		End Get
    		Set(ByVal value As String)
    			_GenreAnnonce = value
    		End Set
    	End Property
    'là tu défini la proprété
    	Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    	if GenreAnnonce = "un truc" then
                      'plein de code
                 end if
    Lis les commentaires dans le code.
    Tu vois donc que tu peux générer des prorpiétés pour ton userControl (ASCX) et les utiliser dans le code comme des variables.
    Ensuite lorsque tu place ton userControl dans ta page ASPX tu passe tes propriétés comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <%@ Register Src="passerA.ascx" TagName="passerA" TagPrefix="uc1" %>
    <uc1:passerA ID="PasserA1" runat="server" GenreAnnonce="Modif" /><br />
    Et tu vois ta propriété disponible dans les attributs de la balise.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    YEEEES Merci infiniment pour votre aide
    avec le bout de code de zooffy ton code est tout de suite vachement plus compréhensible mafyoso

    Merci beaucoup et a charge de revanche peut etre en coldfusion lol.

    A bientot

    Maël
    http://mael-decoster.fr
    Développeur indépendant d'applications web
    http://www.easy-media.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Info] Générer des numéros de licence
    Par nico2280 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 24/08/2005, 15h35
  2. Classe pour generer des logs
    Par freddyboy dans le forum MFC
    Réponses: 9
    Dernier message: 13/07/2005, 12h54
  3. Réponses: 8
    Dernier message: 17/02/2005, 09h05
  4. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45
  5. Comment générer des fichiers html ?
    Par keke33 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 04/06/2004, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo