Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DataGridView + Oracle + masque de colonne

2 réponses
Avatar
Franck GILET
Bonjour,


j'ai créé un grid qui affiche les données d'une table Oracle. Dans la table,
une des colonnes contient des dates mais stockées dans un format numérique
du genre 01011998 (pour 01/01/1998).

A l'affichage dans la colonne de mon Grid, je voudrais afficher la date sous
un format date XX/XX/XXXX mais sans toucher aux données de la table. Une
sorte de masque de colonne en fait.

Je quelqu'un peut me diriger vers un début de piste.


Merci d'avance


Franck

2 réponses

Avatar
Gilles TOURREAU
Franck GILET avait écrit le 18/05/2006 :
Bonjour,


j'ai créé un grid qui affiche les données d'une table Oracle. Dans la table,
une des colonnes contient des dates mais stockées dans un format numérique du
genre 01011998 (pour 01/01/1998).

A l'affichage dans la colonne de mon Grid, je voudrais afficher la date sous
un format date XX/XX/XXXX mais sans toucher aux données de la table. Une
sorte de masque de colonne en fait.

Je quelqu'un peut me diriger vers un début de piste.


Merci d'avance


Franck



Utilise l'événement "CellFormatting" de ton DataGridView. Et dans le
code de l'événement tu met :

if (e.ColumnIndex == IndexDeTaColonneDate)
e.Value = ConvertirChaineVersDate(e.Value)

Maitenant si tu dois faire çà dans 40 fenêtres de ton projet, je te
conseille de dériver une classe de DataGridViewTextBoxColumn et
DataGridViewTextBoxCell en faisant :

class MaClasseColumn : DataGridViewTextBoxColumn
{
public override Type CellType
{
get { return typeof(MaClasseCell); }
}
}

class MaClasseCell : DataGridViewTextBoxCell
{
public override object GetFormattedValue(object value,........)
{
return ConvertirChaineVersDate(value);
}
}

Cordialement

--
Gilles TOURREAU
Responsable informatique


Société P.O.S
Spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Franck GILET
Merci Gilles !

je vais étudier tout ça week end !

Franck
"Gilles TOURREAU" a écrit dans le message de news:

Franck GILET avait écrit le 18/05/2006 :
Bonjour,


j'ai créé un grid qui affiche les données d'une table Oracle. Dans la
table, une des colonnes contient des dates mais stockées dans un format
numérique du genre 01011998 (pour 01/01/1998).

A l'affichage dans la colonne de mon Grid, je voudrais afficher la date
sous un format date XX/XX/XXXX mais sans toucher aux données de la table.
Une sorte de masque de colonne en fait.

Je quelqu'un peut me diriger vers un début de piste.


Merci d'avance


Franck



Utilise l'événement "CellFormatting" de ton DataGridView. Et dans le code
de l'événement tu met :

if (e.ColumnIndex == IndexDeTaColonneDate)
e.Value = ConvertirChaineVersDate(e.Value)

Maitenant si tu dois faire çà dans 40 fenêtres de ton projet, je te
conseille de dériver une classe de DataGridViewTextBoxColumn et
DataGridViewTextBoxCell en faisant :

class MaClasseColumn : DataGridViewTextBoxColumn
{
public override Type CellType
{
get { return typeof(MaClasseCell); }
}
}

class MaClasseCell : DataGridViewTextBoxCell
{
public override object GetFormattedValue(object value,........)
{
return ConvertirChaineVersDate(value);
}
}

Cordialement

--
Gilles TOURREAU
Responsable informatique


Société P.O.S
Spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr