Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1773 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  datagrid + dataset

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

datagrid + dataset

n°1667000
nORKy
Grmmph...
Posté le 07-01-2008 à 10:43:02  profilanswer
 

Bonjour, je suis nouveau dans C# et je ne sais pas comment formater une cellule d'un dataGridView en fonction de la ligne du dataset correspondant.
 
J'ai donc un dataset associé à mon dataGrid
Pour formater ma celulle, je connecte à l'evenement CellFormatting
Mais, comment récuper la ligne qui correspond dans mon dataset ???
avec cette ligne, je peux regarder des valeurs et modifier l'apparence de ma celulle (en fait je veux modifier les couleurs pour distinguer plus facilement des etats).
J'ai bien vu databounditem, mais je ne sais pas quoi en faire.
 
 
Existe t-il des fonctions de recherche dans les datagridview ?? Par exemple pour trouvé une cellule qui contient 'toto' ?
Merci
 

mood
Publicité
Posté le 07-01-2008 à 10:43:02  profilanswer
 

n°1667017
MagicBuzz
Posté le 07-01-2008 à 11:25:19  profilanswer
 

C'est à dire ?
 
Ligne par ligne, tu veux formatter ta cellule en fonction de ta valeur c'est ça ?
 
Bah dans ton event DataBound tu peux accéder à chaque ligne une à une.

n°1667020
nORKy
Grmmph...
Posté le 07-01-2008 à 11:38:38  profilanswer
 

oui, mais comment j'accède à la ligne de mon dataset qui correspondant à la ligne de mon datagrid ? je ne comprends pas

n°1667022
MagicBuzz
Posté le 07-01-2008 à 11:47:01  profilanswer
 

c'est à dire ?
 
tu veux faire quoi au juste ?

n°1667042
MagicBuzz
Posté le 07-01-2008 à 12:13:17  profilanswer
 

Chelou, y'a pas de DataBind() dans un DataGrivVeiw :heink:
 
Ben solution à la mano, mais pas top :

Code :
  1. private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
  2.        {
  3.            if (comboBox1.SelectedItem == null) return;
  4.  
  5.            foreach (DataGridViewRow dr in dataGridView1.Rows)
  6.            {
  7.                if ((int)dr.Cells[1].Value == (int)comboBox1.SelectedValue)
  8.                {
  9.                    dr.DefaultCellStyle.ForeColor = Color.Red;
  10.                }
  11.                else
  12.                {
  13.                    dr.DefaultCellStyle.ForeColor = Color.Black;
  14.                }
  15.            }
  16.        }


 
=> Passe les lignes du DataGridView en rouge lorsque la valeur dans la colonne 1 est égale à la valeur choisir dans une liste déroulante. J'espère que ça répond à ton besoin...


Message édité par MagicBuzz le 07-01-2008 à 12:14:53
n°1667081
nORKy
Grmmph...
Posté le 07-01-2008 à 13:35:13  profilanswer
 

Non, apparement plus besoin de databind (??)
 
En fait, non tu ne réponds pas à ma question :-)
Ce je cherche à avoir c'est la ligne de mon dataset qui correpondont à une Row. Tu comprends ??
 
J'ai une base de donnée avec pleins de champs, mais j'en affiche que 3.
J'ai une colonne ou je veux changer sa couleur en fonction d'un champ de mon dataset (qui est lié à ma Grid) qui n'est pas affiché dans ma grid.
 
Je m'exprime peut-être mal, non ?

n°1667087
MagicBuzz
Posté le 07-01-2008 à 13:45:11  profilanswer
 

Affiche ta colonne dans ta grid, et passe la en invisible, ce sera plus simple.
 
Pour mon exemple c'est ce que j'ai fait, cette colonne 1 n'est pas affichée

n°1667092
MagicBuzz
Posté le 07-01-2008 à 13:49:37  profilanswer
 

Mais sinon, doit y avoir moyen de trouver un DataBind quelque part, c'est vraiment zarb qu'il n'y en ait pas !
 
-- Mais en tout cas, je trouve pas... Relou cet objet...


Message édité par MagicBuzz le 07-01-2008 à 14:18:49
n°1667954
moi23372
Posté le 08-01-2008 à 19:34:17  profilanswer
 

perso, ce n'est pas sur le dataset qu'il faut jouer avec l'affichage. Le dataset est un composant de stockage d'infos. Pas un composant visuel.  
La customisation, ça se passe via les DataGridView ou autre composant dans ce genre la.

n°1667969
nORKy
Grmmph...
Posté le 08-01-2008 à 20:23:25  profilanswer
 

moi23372 a écrit :

perso, ce n'est pas sur le dataset qu'il faut jouer avec l'affichage. Le dataset est un composant de stockage d'infos. Pas un composant visuel.  
La customisation, ça se passe via les DataGridView ou autre composant dans ce genre la.


 
Pardon, mais je ne comprends pas ce que tu veux dire.

mood
Publicité
Posté le 08-01-2008 à 20:23:25  profilanswer
 

n°1668261
moi23372
Posté le 09-01-2008 à 13:15:29  profilanswer
 

lol
ce n'est pas au dataset de se charger du display des cellules, du format, ou n'importe quoi. Cela c'est le rôle des composants visuels tel que le datagrid, ou autre composant dans le même genre.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  datagrid + dataset

 

Sujets relatifs
Datagrid la méthode d'updatecolorer une ligne de dataGrid(VB6)
couleur ligne datagridDataSet + Compatibilité ascendante
fusionner plusieurs cellules de l'entête d'un datagridproblème DataGrid de VB
[C#][ASP.NET1.1]Exporter datagrid vers un fichier excel ou word[RESOLU]ListBox remplie avec un DataSet /2 champs dans le TextField
[RESOLU][ASP.NET][C#]Comment modifier les entetes d'un DataGrid?[C#] jointure dataset et affichage datagrid
Plus de sujets relatifs à : datagrid + dataset


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR