C#: Colonnes introuvable dans un DataGridView

Messages postés
9
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
12 juin 2010
- - Dernière réponse : cboulas
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
- 17 nov. 2009 à 09:29
Bonjour à tous,

j'explique la situation:

j'ai un DataGridView dans mon application qui a comme DataSource une DataTable qui reçoit ses données d'un OleDbDataReader. Jusque là, aucun problème. Mes données s'affichent très bien dans mon DGV, mais le problème suivant me rend perplexe.

Comme j'ai des champs qui contiennent de longues chaînes de caractères, j'aimerais pouvoir redimensionner les colonnes du DGV. Mais pour une raison que j'ignore, je ne peux pas accéder à la propriété Columns du DGV et par conséquent, à la propriété Width.

Est-ce parce que j'utilise un DataSource? Est-ce parce que je ne crée pas mon DGV du début en créant Rows et Columns? Y a-t-il quelque façon que ce soit d'accéder à la propriété Width des Columns?

Voici un peu de code qui pourrait vous aidez à résoudre mon problème.

private void tabAll_Enter(object sender, EventArgs e)
{
  DataTable table;

  this.gestion.OpenConnection();
  table = gestion.VueGlobale();
  this.gestion.CloseConnection();

  this.dgvVueGlobale.DataSource = table;
  
  // Ici j'aimerais soit pouvoir redimensionner la largeur des colonnes ou
  // bien les mettre en AutoSizeMode

}

public DataTable VueGlobale()
{
  DataTable table = new DataTable();
  OleDbDataReader reader = connection.ExecuteQuery(
      "SELECT titre as Titre, genre as Genre, prenomRealisateur +" + 
      "' ' + nomRealisateur as Réalisateur " +
      "FROM (Films LEFT JOIN Realisateurs ON " +
      "Films.idRealisateur=Realisateurs.idRealisateur) " +
      "LEFT JOIN Genres ON Films.idGenre=Genres.idGenre;");
  table.Load(reader);
  reader.Close();
  reader.Dispose();
  return table;
}


Merci à l'avance
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
1
Merci
Il est bizzare ton DataGridView, j'en ai poser un et il fonctionne bien. tu est sûr que ta colonne ne serais en en mode "Figé" dans la conf des colonnes (fenêtre de propriété)


Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 199 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cboulas
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Salut

Exemple : DGView.Columns[0].Width

Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT
Commenter la réponse de cboulas
Messages postés
9
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
12 juin 2010
1
0
Merci
C'est gentil d'avoir essayer, mais comme j'ai dit plus haut: je ne peux pas accéder à la propriété Columns du DGV et par conséquent, à la propriété Width. Est-ce parce que je lui donne une DataTable comme DataSource?

J'ai remarqué que je pouvais par contre accéder à la propriété Columns de ma DataTable avant de la passer au DGV, mais celle-ci ne semble pas avoir la propriété Width. Une autre idée?
Commenter la réponse de jlemay2105
Messages postés
9
Date d'inscription
samedi 31 octobre 2009
Statut
Membre
Dernière intervention
12 juin 2010
1
0
Merci
Je suis extrêmement désolé cboulas. Le truc, c'est que j'ai pris le début de projet ici, sur Codes Sources et j'ai simplement supposé certaines choses.
Le DataGridView énoncé dans mon problème n'en était pas un. C'est simplement un DataGrid, voilà pourquoi il me "manquait" des propriétés.

Je te remercie de ton temps et j'aimerais te dire que c'est ta 2e intervention qui m'a fait trouver la solution.

Juste comme ça, pourrais-tu me dire s'il y a des avantages à utiliser un simple DataGrid?
Commenter la réponse de jlemay2105
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Le dataGrid on dira (juste pour simmplifier) que cela ressemble à un dataset, on l'utilise beaucoup en webform (page web).

Le datagrid existait dans le framework 1, 1.1... mais plus vraiment depuis le fram 2.0, il a été remplacer par le datagridview, qui comme le dit le nom : reflette une vue de ta requette et non plus un traitement possible à faire dedant.

Je me suis douter de ton pb, d'où pourquoi j'ai noter en toute lettre le datagridView

Disons que en Winform, il faut retenir le datagridview et en webform le GridView qui est quasiement la même chose

Heureux que cela t'a servie

Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT
Commenter la réponse de cboulas