C#: Colonnes introuvable dans un DataGridView

jlemay2105 Messages postés 9 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 12 juin 2010 - 16 nov. 2009 à 01:16
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

5 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 nov. 2009 à 20:58
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
1
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 nov. 2009 à 13:34
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
0
jlemay2105 Messages postés 9 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 12 juin 2010 1
16 nov. 2009 à 17:41
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?
0
jlemay2105 Messages postés 9 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 12 juin 2010 1
16 nov. 2009 à 22:42
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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
17 nov. 2009 à 09:29
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
0