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

C# Discussion :

Binding Datagrid dynamique ET statique


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1
    Par défaut Binding Datagrid dynamique ET statique
    Bonjour à tous,

    J'ai un DataGrid ayant 3 colonnes que je voudrais binder de manière dynamique, mais aussi statique en quelques sortes.

    Je m'explique :
    Le DataGrid a 3 colonnes : colonne1, colonne2, colonne3. Ces colonnes sont bindées avec 3 colonnes spécifiques d'une table MA_TABLE

    En DataGrid.ItemsSource, j'appelle une fonction de ma couche métier qui affiche toutes les données de la table MA_TABLE, sous forme de liste.
    Là, il m'affiche les 3 colonnes correctement bindés + toutes les colonnes de ma table (headers + données). En quelques sortes il a concaténé MA_TABLE au tableau affiché dans le DataGrid.

    Or, je voudrais qu'il n'affiche QUE les 3 colonnes (colonne1, colonne2, colonne3).

    Pour cela, il faudrait que je gère le return de la fonction métier, et puis ensuite spécifier le DataGrid.ItemsSource.

    Mais je ne vois pas comment faire pour récupérer le return de la fonction métier, le gérer, et puis passer le résultat en tant que source de mon DataGrid. Quelqu'un aurait une idée ?

    Merci d'avance,

  2. #2
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Bonjour,

    tu mets le AutoGenerateColumns de la grid à False, et tu crées manuellement les colonnes.

    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
     
    DataTable dataTable=new DataTable();
     
                    DataGridView grid = new DataGridView();
                    grid.AutoGenerateColumns = false;
                    DataGridViewColumn column = new DataGridViewTextBoxColumn();
                    column.DataPropertyName = dataTable.Colonne1Column.ColumnName;
                    column.HeaderText = "Colonne 1";
                    grid.Columns.Add(column);
     
                    column = new DataGridViewTextBoxColumn();
                    column.DataPropertyName = dataTable.Colunne2Column.ColumnName;
                    column.HeaderText = "Colonne 2";
                    grid.Columns.Add(column);
     
                    grid.DataSource = dataTable;

Discussions similaires

  1. [Débutant] Datagrid Binding & colonnes dynamique
    Par deathspirit dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 02/09/2013, 14h03
  2. Datagrid dynamique binding
    Par tito55 dans le forum VB.NET
    Réponses: 1
    Dernier message: 17/05/2010, 19h59
  3. [FLASH MX] Datagrid dynamique
    Par ogaleph dans le forum Flash
    Réponses: 1
    Dernier message: 09/12/2005, 09h59
  4. [VB.NET] repeater/datagrid dynamique clique d'un bouton
    Par lucie.houel dans le forum ASP.NET
    Réponses: 11
    Dernier message: 19/07/2005, 16h17
  5. std::vector : dynamique ou statique, pile et tas
    Par salseropom dans le forum SL & STL
    Réponses: 7
    Dernier message: 24/01/2005, 13h22

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