OVH Cloud OVH Cloud

Modifier un dataset avant le databind du datagrid

4 réponses
Avatar
Pedro
Bonjour,

Je r=E9cup=E8re des donn=E9es de ma base dans un dataset.
Ensuite ces donn=E9es sont plac=E9es dans un datagrid en=20
faisant :=20
monObjet myObject =3D new monObjet();
maDataGrid.DataSource =3D myObject.maFonction();
myGrid.DataBind()

Je voudrais modifier certaines donn=E9es contenues dans le=20
dataset retourn=E9 par ma fonction, mais je ne sais pas=20
comment faire.
A quel moment dois-je r=E9aliser le traitement, et par quel=20
moyen puis-je modifier certains champs ?

Merci d'avance.

Pedro

4 réponses

Avatar
Pedro
Bonjour Matthieu;

En fait je voudrais gérer la mise en forme des données
car il y en a certaines que je ne peux pas réaliser
directement dans la procédure stockée. Par exemple je
voudrais changer le format de certains champs (exemple un
type money dont j'ai besoin pour faire un order by
dessus, et ensuite lors de l'affichage faire des arrondis
dessus)
En fait, je voudrais pouvoir faire une boucle sur la
dataset pour changer par exemple la mise en forme de tous
les champs de la 3è colonne.

Merci pour ton aide.

Pedro

-----Message d'origine-----
Bonjour,

Peux tu preciser quels type de modification tu veux


effectuer sur ton dataset?

Quoiqu'il en soit tu peux modifiier les données


(effectuer un formatage ou réaliser un calcul) que tu va
afficher on moment du databind en utilisant la methode
traitant l'evenement ItemDataBound.

Un Exemple :

http://www.dotnetjunkies.com/Tutorial/2F527E21-A6C5-497A-


8B56-4150BDAF711D.dcik

--
Mathieu Kempé [MVP]-
Tech Head Brothers - http://www.techheadbrothers.com


"Pedro" a écrit :

Bonjour,

Je récupère des données de ma base dans un dataset.
Ensuite ces données sont placées dans un datagrid en
faisant :
monObjet myObject = new monObjet();
maDataGrid.DataSource = myObject.maFonction();
myGrid.DataBind()

Je voudrais modifier certaines données contenues dans




le
dataset retourné par ma fonction, mais je ne sais pas
comment faire.
A quel moment dois-je réaliser le traitement, et par




quel
moyen puis-je modifier certains champs ?

Merci d'avance.

Pedro



.



Avatar
Pedro
En fait la page que tu m'as indiquée explique exactement
ce que je recherchais.

Ca marche, mais il y a un ptit truc que je ne comprends
pas :
J'ai défini la fonction ItemDataBound et à l'intérieur
j'ai mis :
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
mais je ne comprends pas trop à quoi correspondent
ListItemType.Item et ListItemType.AlternatingItem.
J'ai constaté que si ne mne mets que l'un des deux seule
la moitié des champs est corrigée.
Donc pourquoi faut-il mettre les deux ?
La doc n'est pas très claire à ce sujet :
- AlternatingItem : Élément dans des cellules (de base
zéro à index pair) alternées
- Item : Élément dans le contrôle de liste

Pourrais tu m'expliquer ?

Merci encore.

Pedro
-----Message d'origine-----
Bonjour,

Peux tu preciser quels type de modification tu veux


effectuer sur ton dataset?

Quoiqu'il en soit tu peux modifiier les données


(effectuer un formatage ou réaliser un calcul) que tu va
afficher on moment du databind en utilisant la methode
traitant l'evenement ItemDataBound.

Un Exemple :

http://www.dotnetjunkies.com/Tutorial/2F527E21-A6C5-497A-


8B56-4150BDAF711D.dcik

--
Mathieu Kempé [MVP]-
Tech Head Brothers - http://www.techheadbrothers.com


"Pedro" a écrit :

Bonjour,

Je récupère des données de ma base dans un dataset.
Ensuite ces données sont placées dans un datagrid en
faisant :
monObjet myObject = new monObjet();
maDataGrid.DataSource = myObject.maFonction();
myGrid.DataBind()

Je voudrais modifier certaines données contenues dans




le
dataset retourné par ma fonction, mais je ne sais pas
comment faire.
A quel moment dois-je réaliser le traitement, et par




quel
moyen puis-je modifier certains champs ?

Merci d'avance.

Pedro



.



Avatar
Pedro
En fait la page que tu m'as indiquée explique exactement
ce que je recherchais.

Ca marche, mais il y a un ptit truc que je ne comprends
pas :
J'ai défini la fonction ItemDataBound et à l'intérieur
j'ai mis :
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
mais je ne comprends pas trop à quoi correspondent
ListItemType.Item et ListItemType.AlternatingItem.
J'ai constaté que si ne mne mets que l'un des deux seule
la moitié des champs est corrigée.
Donc pourquoi faut-il mettre les deux ?
La doc n'est pas très claire à ce sujet :
- AlternatingItem : Élément dans des cellules (de base
zéro à index pair) alternées
- Item : Élément dans le contrôle de liste

Pourrais tu m'expliquer ?

Merci encore.

Pedro
-----Message d'origine-----
Bonjour,

Peux tu preciser quels type de modification tu veux


effectuer sur ton dataset?

Quoiqu'il en soit tu peux modifiier les données


(effectuer un formatage ou réaliser un calcul) que tu va
afficher on moment du databind en utilisant la methode
traitant l'evenement ItemDataBound.

Un Exemple :

http://www.dotnetjunkies.com/Tutorial/2F527E21-A6C5-497A-


8B56-4150BDAF711D.dcik

--
Mathieu Kempé [MVP]-
Tech Head Brothers - http://www.techheadbrothers.com


"Pedro" a écrit :

Bonjour,

Je récupère des données de ma base dans un dataset.
Ensuite ces données sont placées dans un datagrid en
faisant :
monObjet myObject = new monObjet();
maDataGrid.DataSource = myObject.maFonction();
myGrid.DataBind()

Je voudrais modifier certaines données contenues dans




le
dataset retourné par ma fonction, mais je ne sais pas
comment faire.
A quel moment dois-je réaliser le traitement, et par




quel
moyen puis-je modifier certains champs ?

Merci d'avance.

Pedro



.



Avatar
Mathieu Kempé
Dans ta datagrid tu peux definir pour un Item un AlternatingItem par exemple si tu veux spécifier une couleur différente une fois sur deux quand tu affiche ta liste.

Lorsque tu réalise ce test
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)

Tu t'assure d'effectuer la modification pour pour un Item ou un AlternatingItem, et non, pour le footer et le header de ta datagrid

http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfSystemWebUIWebControlsListItemTypeClassTopic.asp

--
Mathieu Kempé [MVP]-
Tech Head Brothers - http://www.techheadbrothers.com

"Pedro" a écrit :

En fait la page que tu m'as indiquée explique exactement
ce que je recherchais.

Ca marche, mais il y a un ptit truc que je ne comprends
pas :
J'ai défini la fonction ItemDataBound et à l'intérieur
j'ai mis :
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
mais je ne comprends pas trop à quoi correspondent
ListItemType.Item et ListItemType.AlternatingItem.
J'ai constaté que si ne mne mets que l'un des deux seule
la moitié des champs est corrigée.
Donc pourquoi faut-il mettre les deux ?
La doc n'est pas très claire à ce sujet :
- AlternatingItem : Élément dans des cellules (de base
zéro à index pair) alternées
- Item : Élément dans le contrôle de liste

Pourrais tu m'expliquer ?

Merci encore.

Pedro
>-----Message d'origine-----
>Bonjour,
>
>Peux tu preciser quels type de modification tu veux
effectuer sur ton dataset?
>
>Quoiqu'il en soit tu peux modifiier les données
(effectuer un formatage ou réaliser un calcul) que tu va
afficher on moment du databind en utilisant la methode
traitant l'evenement ItemDataBound.
>
>Un Exemple :
>
>http://www.dotnetjunkies.com/Tutorial/2F527E21-A6C5-497A-
8B56-4150BDAF711D.dcik
>
>--
>Mathieu Kempé [MVP]-
>Tech Head Brothers - http://www.techheadbrothers.com
>
>
>"Pedro" a écrit :
>
>> Bonjour,
>>
>> Je récupère des données de ma base dans un dataset.
>> Ensuite ces données sont placées dans un datagrid en
>> faisant :
>> monObjet myObject = new monObjet();
>> maDataGrid.DataSource = myObject.maFonction();
>> myGrid.DataBind()
>>
>> Je voudrais modifier certaines données contenues dans
le
>> dataset retourné par ma fonction, mais je ne sais pas
>> comment faire.
>> A quel moment dois-je réaliser le traitement, et par
quel
>> moyen puis-je modifier certains champs ?
>>
>> Merci d'avance.
>>
>> Pedro
>>
>.
>