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 :

[C#] Control pour la construction d'un tableau dynamique


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 14
    Points
    14
    Par défaut [C#] Control pour la construction d'un tableau dynamique
    Bonjour,

    J’utilise une fonction qui récupère un certain nombre d'objets. Ces objets ont tous 7 variables de type string.

    Je souhaiterais afficher un tableau avec 7 colonnes fixes (pour les variables) et un nombre de lignes qui dépend du nombre d'objet que ma fonction a récupéré.

    Je voudrais aussi que les cellules des 2 premières colonnes soit des liens hypertext

    Quel est le control approprié (Datagrid ou Table ou ... ?) dans cette situation sachant que je n'utilise pas de base de données

    Merci pour vos réponses

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ben çà depends de ce que tu veux faire de l'affichage après
    Sur le plan métier tu as une source (tableau ou autres qui recolte tes données)
    puis sur le plan graphique tu as un controle du rendu de tes données
    en liant ce controle à ta source
    voit sur msdn les avantages graphiques que te propose les 2 controles
    perso je pense facilement pour le datagrid
    pas besoin d'une bdd mais d'une source de données c'est très différent
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Merci du conseil neguib,

    j'ai utilisé une DataTable niveau metier et une DataGrid niveau graphique.

    il me reste un pb :
    je n'arrive pas a ajouter correctement des liens hypertext dans les 2 premières colonnes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DataTable dt = new DataTable();
    DataRow dr;
    dt.Columns.Add(new DataColumn("Prenom", typeof(HyperLink))); // à la compilation c'est ok, mais la colonne est invisible dans le DataGrid à l'éxecution, je pense savoir pourquoi. Je ne sais pas où mettre le contenu de l'url ciblée par le lien
    dt.Columns.Add(new DataColumn("Nom", typeof(HyperLink)));
    dt.Columns.Add(new DataColumn("Fonction", typeof(string)));
    dt.Columns.Add(new DataColumn("Division", typeof(string)));
    dt.Columns.Add(new DataColumn("Sous division", typeof(string)));
    dt.Columns.Add(new DataColumn("Equipe", typeof(string)));
    dt.Columns.Add(new DataColumn("Site", typeof(string)));

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par st0j
    Merci du conseil neguib,

    j'ai utilisé une DataTable niveau metier et une DataGrid niveau graphique.

    il me reste un pb :
    je n'arrive pas a ajouter correctement des liens hypertext dans les 2 premières colonnes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...DataTable dt = new DataTable();
    ...
    dt.Columns.Add(new DataColumn("Nom", typeof(HyperLink)));
    ...
    ici c'est normal car normalement le constructeur attend un Datatype pas un type graphique
    ici tu dois mettre string
    il va falloir ajouter directement à ta datagrid une colonne qui affiche l'hyperlink et je me demandes d'ailleurs (si tu utilises vsNet) si tu peux pas le faire directement en mode design une fois que tu auras terminé ta datagrid
    (il me semble en bas de la fenêtre propriété pour generer un style ou qquechose comme çà... maisj'ai pas vraiment le temps de verifier là)
    a+ dis moi si tu trouves
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    J'ai effectivement Visual Studio .NET 2003.

    J'ai testé en faisant clic droit sur le datagrid, puis "Propriety Builder.../ Columns/ puis j'ai ajouté deux HyperLink Columns. Je n'ai renseigné que le champ Header Text pour indiquer le nom de la colonne.

    Mais voilà, à l'execution j'ai les 2 colonnes que j'ai ajouté graphiquement qui sont vides en plus des autres colonnes. (Donc une foi prenom et nom vide + prenom, nom, etc... comme avant)

    Je voudrais savoir comment on dit faire (pseudo code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maDataTable.Colonne.Nom = "Prenom" va dans maDataGrid.Colonne.Nom = "Prenom"

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par st0j
    J'ai effectivement Visual Studio .NET 2003.

    J'ai testé en faisant clic droit sur le datagrid, puis "Propriety Builder.../ Columns/ puis j'ai ajouté deux HyperLink Columns. Je n'ai renseigné que le champ Header Text pour indiquer le nom de la colonne.

    Mais voilà, à l'execution j'ai les 2 colonnes que j'ai ajouté graphiquement qui sont vides en plus des autres colonnes. (Donc une foi prenom et nom vide + prenom, nom, etc... comme avant)

    Je voudrais savoir comment on dit faire (pseudo code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maDataTable.Colonne.Nom = "Prenom" va dans maDataGrid.Colonne.Nom = "Prenom"
    en fait je t'avais conseillé de passer par le mode design pour que tu puisse regarder après dans le html généré automatiquement afin que tu sache comment maintenant le reproduire en code mais cette fois en controlant directement l'affectation des valeurs
    Bon courage
    je te mets le lien MSDN en ligne au cas ou tu aurais besoin de creuser
    http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemwebuiwebcontrolshyperlinkcolumnclasstopic.asp
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    J'ai enfin trouvé la solution !!

    Alors voilà, pour faire la liaison entre mon DataTable et mon DataGrid,
    je suis passé par la vue Web Design.

    en faisant clic droit sur le DataGrid, puis "Propriety Builder..." / "Columns" / je selectionne une colonne HyperLink

    ensuite j'ai lié la colonne "Prenom" de ma DataTable à la colonne "Prenom" de ma DataGrid en remplissant les champs correspondants :

    pour le DataGrid
    HeaderText : Prenom
    Url Field : id
    Url Format String : /urlmachin.aspx?id={0} (utilise le champ id de la ligne correspondante)

    pour la correspondance vers la colonne coté DataTable
    Text Field : Prenom
    Text Format String : {0} (pour n'afficher que le prénom)

    (sans oublier de décocher l'auto génération de colonnes )

    Merci pour ton aide neguib

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

Discussions similaires

  1. Aide au choix d'un control pour un tableau
    Par superjaja dans le forum Débuter
    Réponses: 8
    Dernier message: 13/01/2009, 14h52
  2. controle ActiveX pour la Creation d'un tableau
    Par sundjata dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/08/2006, 08h40
  3. Problème pour la construction d'un requête
    Par TshAw dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/02/2005, 17h35
  4. [C#] Quel controle pour le dessin + eviter clignotement
    Par JEG dans le forum Windows Forms
    Réponses: 10
    Dernier message: 08/10/2004, 11h28
  5. "Tree Control" pour "Dialog Based"
    Par bigboomshakala dans le forum MFC
    Réponses: 4
    Dernier message: 22/04/2004, 10h32

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