Est-ce qu'un ComboBox (ou un ListBox, j'imagine que la r=E9ponse est la=20
m=EAme) d=E9clenche un =E9v=E9nement lorsqu'on lui ajoute un =E9l=E9ment =
(Items.Add)=20
ou qu'on en retire un (Items.Remove), ou doit-on g=E9rer soi-m=EAme un=20
delegate ?
Dans le premier cas je suis pass=E9 devant sans voir ...
"Gloops" a écrit dans le message de groupe de discussion : ODu14v$
A ce qu'il m'a semblé, il faudra utiliser un objet d'accès aux données
Comme je le disais, c'est la bindinglist qui se charge des notifications sur l'ajout ou la suppression. Si c'est ce qui t'intéresse, pas besoin de code supplémentaire.
Un simple BindingList<string> te permet par exemple d'intercepter les évènements d'ajout et de suppression d'éléments dans ta listbox.
Les deux dernières instructions vont ajouter et supprimer un item dans la liste, en notifié tous les contrôles qui y sont bindés (ma_listbox, en l'occurrence) et appeler MonEentHandler.
... de type objet.
Euh je comprends pas trop ce "type objet".
Donc, implémenter du code.
Plus élégant, mais pas forcément plus compatible avec le poil dans la main.
Tout dépend de ce que tu veux faire. Dans tous les cas, si tu veux faire quelque chose qui n'est pas déjà totalement intégré, ça fera toujours moins de boulot si tu te sers de ce qui existe déjà.
"Gloops" <gloops@invalid.zailes.org> a écrit dans le message de groupe de
discussion : ODu14v$TJHA.5024@TK2MSFTNGP03.phx.gbl...
A ce qu'il m'a semblé, il faudra utiliser un objet d'accès aux données
Comme je le disais, c'est la bindinglist qui se charge des notifications sur
l'ajout ou la suppression. Si c'est ce qui t'intéresse, pas besoin de code
supplémentaire.
Un simple BindingList<string> te permet par exemple d'intercepter les
évènements d'ajout et de suppression d'éléments dans ta listbox.
Les deux dernières instructions vont ajouter et supprimer un item dans la
liste, en notifié tous les contrôles qui y sont bindés (ma_listbox, en
l'occurrence) et appeler MonEentHandler.
... de type objet.
Euh je comprends pas trop ce "type objet".
Donc, implémenter du code.
Plus élégant, mais pas forcément plus compatible avec le poil dans la
main.
Tout dépend de ce que tu veux faire. Dans tous les cas, si tu veux faire
quelque chose qui n'est pas déjà totalement intégré, ça fera toujours moins
de boulot si tu te sers de ce qui existe déjà.
"Gloops" a écrit dans le message de groupe de discussion : ODu14v$
A ce qu'il m'a semblé, il faudra utiliser un objet d'accès aux données
Comme je le disais, c'est la bindinglist qui se charge des notifications sur l'ajout ou la suppression. Si c'est ce qui t'intéresse, pas besoin de code supplémentaire.
Un simple BindingList<string> te permet par exemple d'intercepter les évènements d'ajout et de suppression d'éléments dans ta listbox.
Les deux dernières instructions vont ajouter et supprimer un item dans la liste, en notifié tous les contrôles qui y sont bindés (ma_listbox, en l'occurrence) et appeler MonEentHandler.
... de type objet.
Euh je comprends pas trop ce "type objet".
Donc, implémenter du code.
Plus élégant, mais pas forcément plus compatible avec le poil dans la main.
Tout dépend de ce que tu veux faire. Dans tous les cas, si tu veux faire quelque chose qui n'est pas déjà totalement intégré, ça fera toujours moins de boulot si tu te sers de ce qui existe déjà.
Gloops
Tu veux dire que je devrais trouver la BindingList directement dans la boîte à outils ?
Dans la catégorie Data j'ai DataSet, DataGridView, BindingSource, BindingNavigator, et ReportViewer.
Lors de la création d'un DataSet, les types de sources de données acceptés sont Database, Web Service et Object.
Je choisirais bien Text, mais c'est là que la solution que je vois pass e par définir un objet qui ouvre sur du texte.
En te lisant j'ai l'impression de m'être trompé quelque part ...
________________________________________________ Christophe Lephay a écrit, le 26/11/2008 20:46 :
"Gloops" a écrit dans le message de group e de discussion : ODu14v$
A ce qu'il m'a semblé, il faudra utiliser un objet d'accès aux don nées
Comme je le disais, c'est la bindinglist qui se charge des notification s sur l'ajout ou la suppression. Si c'est ce qui t'intéresse, pas besoi n de code supplémentaire.
Un simple BindingList<string> te permet par exemple d'intercepter les évènements d'ajout et de suppression d'éléments dans ta listbox .
Les deux dernières instructions vont ajouter et supprimer un item dan s la liste, en notifié tous les contrôles qui y sont bindés (ma_lis tbox, en l'occurrence) et appeler MonEentHandler.
... de type objet.
Euh je comprends pas trop ce "type objet".
Donc, implémenter du code.
Plus élégant, mais pas forcément plus compatible avec le poil da ns la main.
Tout dépend de ce que tu veux faire. Dans tous les cas, si tu veux fa ire quelque chose qui n'est pas déjà totalement intégré, ça fera toujours moins de boulot si tu te sers de ce qui existe déjà.
Tu veux dire que je devrais trouver la BindingList directement dans la
boîte à outils ?
Dans la catégorie Data j'ai DataSet, DataGridView, BindingSource,
BindingNavigator, et ReportViewer.
Lors de la création d'un DataSet, les types de sources de données
acceptés sont Database, Web Service et Object.
Je choisirais bien Text, mais c'est là que la solution que je vois pass e
par définir un objet qui ouvre sur du texte.
En te lisant j'ai l'impression de m'être trompé quelque part ...
________________________________________________
Christophe Lephay a écrit, le 26/11/2008 20:46 :
"Gloops" <gloops@invalid.zailes.org> a écrit dans le message de group e
de discussion : ODu14v$TJHA.5024@TK2MSFTNGP03.phx.gbl...
A ce qu'il m'a semblé, il faudra utiliser un objet d'accès aux don nées
Comme je le disais, c'est la bindinglist qui se charge des notification s
sur l'ajout ou la suppression. Si c'est ce qui t'intéresse, pas besoi n
de code supplémentaire.
Un simple BindingList<string> te permet par exemple d'intercepter les
évènements d'ajout et de suppression d'éléments dans ta listbox .
Les deux dernières instructions vont ajouter et supprimer un item dan s
la liste, en notifié tous les contrôles qui y sont bindés (ma_lis tbox,
en l'occurrence) et appeler MonEentHandler.
... de type objet.
Euh je comprends pas trop ce "type objet".
Donc, implémenter du code.
Plus élégant, mais pas forcément plus compatible avec le poil da ns la
main.
Tout dépend de ce que tu veux faire. Dans tous les cas, si tu veux fa ire
quelque chose qui n'est pas déjà totalement intégré, ça fera toujours
moins de boulot si tu te sers de ce qui existe déjà.
Tu veux dire que je devrais trouver la BindingList directement dans la boîte à outils ?
Dans la catégorie Data j'ai DataSet, DataGridView, BindingSource, BindingNavigator, et ReportViewer.
Lors de la création d'un DataSet, les types de sources de données acceptés sont Database, Web Service et Object.
Je choisirais bien Text, mais c'est là que la solution que je vois pass e par définir un objet qui ouvre sur du texte.
En te lisant j'ai l'impression de m'être trompé quelque part ...
________________________________________________ Christophe Lephay a écrit, le 26/11/2008 20:46 :
"Gloops" a écrit dans le message de group e de discussion : ODu14v$
A ce qu'il m'a semblé, il faudra utiliser un objet d'accès aux don nées
Comme je le disais, c'est la bindinglist qui se charge des notification s sur l'ajout ou la suppression. Si c'est ce qui t'intéresse, pas besoi n de code supplémentaire.
Un simple BindingList<string> te permet par exemple d'intercepter les évènements d'ajout et de suppression d'éléments dans ta listbox .
Les deux dernières instructions vont ajouter et supprimer un item dan s la liste, en notifié tous les contrôles qui y sont bindés (ma_lis tbox, en l'occurrence) et appeler MonEentHandler.
... de type objet.
Euh je comprends pas trop ce "type objet".
Donc, implémenter du code.
Plus élégant, mais pas forcément plus compatible avec le poil da ns la main.
Tout dépend de ce que tu veux faire. Dans tous les cas, si tu veux fa ire quelque chose qui n'est pas déjà totalement intégré, ça fera toujours moins de boulot si tu te sers de ce qui existe déjà.
Jérémy Jeanson
Bonjour tout le monde :)
@ Gloops : Je ne vois pas où tu vois que Christophe parle de wizard ou boîte à outils? il a juste présenté l'usage du type BindingList. Donc au passage il te conseil d'utiliser ce type à la place d'un List<String> ou String[] avec en plus la possibilité d'ajouter des events à cette liste. j'aime bien l'idée :)
@ Christophe: Un grand merci pour tes explication sur le bindingList que je ne connaissais pas du tout. j'ai suivi avec beaucoup d'attention ta series de messages et je dois avouer que c'est agréable de trouvé un nouveau type :) après 6 ans de .net (j'avais certainement raté le coche dans la msdn). En plus c'est relativement proche du Binding WPF dans un certain sens... ça donne des idées... -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Bonjour tout le monde :)
@ Gloops :
Je ne vois pas où tu vois que Christophe parle de wizard ou boîte à
outils? il a juste présenté l'usage du type BindingList. Donc au passage
il te conseil d'utiliser ce type à la place d'un List<String> ou
String[] avec en plus la possibilité d'ajouter des events à cette liste.
j'aime bien l'idée :)
@ Christophe:
Un grand merci pour tes explication sur le bindingList que je ne
connaissais pas du tout. j'ai suivi avec beaucoup d'attention ta series
de messages et je dois avouer que c'est agréable de trouvé un nouveau
type :) après 6 ans de .net (j'avais certainement raté le coche dans la
msdn). En plus c'est relativement proche du Binding WPF dans un certain
sens... ça donne des idées...
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
@ Gloops : Je ne vois pas où tu vois que Christophe parle de wizard ou boîte à outils? il a juste présenté l'usage du type BindingList. Donc au passage il te conseil d'utiliser ce type à la place d'un List<String> ou String[] avec en plus la possibilité d'ajouter des events à cette liste. j'aime bien l'idée :)
@ Christophe: Un grand merci pour tes explication sur le bindingList que je ne connaissais pas du tout. j'ai suivi avec beaucoup d'attention ta series de messages et je dois avouer que c'est agréable de trouvé un nouveau type :) après 6 ans de .net (j'avais certainement raté le coche dans la msdn). En plus c'est relativement proche du Binding WPF dans un certain sens... ça donne des idées... -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Christophe Lephay
"Gloops" a écrit dans le message de groupe de discussion : #
Tu veux dire que je devrais trouver la BindingList directement dans la boîte à outils ?
No no !
Tape juste le code du dessous dans le formload, bien sur en l'adaptant un peu !
________________________________________________ Christophe Lephay a écrit, le 26/11/2008 20:46 :
"Jérémy Jeanson" a écrit dans le message de groupe de discussion :
@ Christophe: Un grand merci pour tes explication sur le bindingList que je ne connaissais pas du tout. j'ai suivi avec beaucoup d'attention ta series de messages et je dois avouer que c'est agréable de trouvé un nouveau type :) après 6 ans de .net (j'avais certainement raté le coche dans la msdn). En plus c'est relativement proche du Binding WPF dans un certain sens... ça donne des idées...
Merci pour l'accueil :)
A vrai dire, je me suis mis à c# et à .net cette année et je me suis vite retrouvé confronté à l'alternative consistant à utiliser soit les datasets, soit une couche métier pour l'accès aux bases de données, appréciant le degré d'intégration des datasets mais regrettant leur aspect strictement relationnel. Du coup, j'ai décortiqué le système des bindings, dont le mécanisme général est assez peu documenté sur msdn, je trouve.
"Jérémy Jeanson" <jeremy.jeanson@free.fr> a écrit dans le message de groupe
de discussion : eoB5IVGUJHA.1332@TK2MSFTNGP02.phx.gbl...
@ Christophe:
Un grand merci pour tes explication sur le bindingList que je ne
connaissais pas du tout. j'ai suivi avec beaucoup d'attention ta series de
messages et je dois avouer que c'est agréable de trouvé un nouveau type :)
après 6 ans de .net (j'avais certainement raté le coche dans la msdn). En
plus c'est relativement proche du Binding WPF dans un certain sens... ça
donne des idées...
Merci pour l'accueil :)
A vrai dire, je me suis mis à c# et à .net cette année et je me suis vite
retrouvé confronté à l'alternative consistant à utiliser soit les datasets,
soit une couche métier pour l'accès aux bases de données, appréciant le
degré d'intégration des datasets mais regrettant leur aspect strictement
relationnel. Du coup, j'ai décortiqué le système des bindings, dont le
mécanisme général est assez peu documenté sur msdn, je trouve.
"Jérémy Jeanson" a écrit dans le message de groupe de discussion :
@ Christophe: Un grand merci pour tes explication sur le bindingList que je ne connaissais pas du tout. j'ai suivi avec beaucoup d'attention ta series de messages et je dois avouer que c'est agréable de trouvé un nouveau type :) après 6 ans de .net (j'avais certainement raté le coche dans la msdn). En plus c'est relativement proche du Binding WPF dans un certain sens... ça donne des idées...
Merci pour l'accueil :)
A vrai dire, je me suis mis à c# et à .net cette année et je me suis vite retrouvé confronté à l'alternative consistant à utiliser soit les datasets, soit une couche métier pour l'accès aux bases de données, appréciant le degré d'intégration des datasets mais regrettant leur aspect strictement relationnel. Du coup, j'ai décortiqué le système des bindings, dont le mécanisme général est assez peu documenté sur msdn, je trouve.
Gloops
Christophe Lephay a écrit, le 27/11/2008 11:48 :
Du coup, j'ai décortiqué le système des bindings, dont le mécanisme général est assez peu documenté sur msdn, je trouve.
Ah, voilà aussi, pourquoi en appliquant ce que j'ai appris avec les DataSet, j'avais un doute ...
Bon, avec ce qui s'est dit aujourd'hui, je pense que je devrais trouver le chemin :)
D'un autre côté (donc : HS), pour ma part, c'est l'affichage avec des regroupements, aussi, (des ruptures, si vous préférez) que j'ai été surpris de ne pas retrouver en standard dans les gridviews. Alors je suis en train de potasser un projet que j'ai trouvé avec ça. J'ai l'impression que ce projet gagnerait à être poussé jusqu'au développement de composant, mais déjà comme il est on dirait qu'il peut rendre bien service. J'attends un jour où je vais beaucoup me déplace r : ça me fera de la lecture dans le train :)
Christophe Lephay a écrit, le 27/11/2008 11:48 :
Du coup, j'ai décortiqué le système des
bindings, dont le mécanisme général est assez peu documenté sur msdn, je
trouve.
Ah, voilà aussi, pourquoi en appliquant ce que j'ai appris avec les
DataSet, j'avais un doute ...
Bon, avec ce qui s'est dit aujourd'hui, je pense que je devrais trouver
le chemin :)
D'un autre côté (donc : HS), pour ma part, c'est l'affichage avec des
regroupements, aussi, (des ruptures, si vous préférez) que j'ai été
surpris de ne pas retrouver en standard dans les gridviews. Alors je
suis en train de potasser un projet que j'ai trouvé avec ça. J'ai
l'impression que ce projet gagnerait à être poussé jusqu'au
développement de composant, mais déjà comme il est on dirait qu'il peut
rendre bien service. J'attends un jour où je vais beaucoup me déplace r :
ça me fera de la lecture dans le train :)
Du coup, j'ai décortiqué le système des bindings, dont le mécanisme général est assez peu documenté sur msdn, je trouve.
Ah, voilà aussi, pourquoi en appliquant ce que j'ai appris avec les DataSet, j'avais un doute ...
Bon, avec ce qui s'est dit aujourd'hui, je pense que je devrais trouver le chemin :)
D'un autre côté (donc : HS), pour ma part, c'est l'affichage avec des regroupements, aussi, (des ruptures, si vous préférez) que j'ai été surpris de ne pas retrouver en standard dans les gridviews. Alors je suis en train de potasser un projet que j'ai trouvé avec ça. J'ai l'impression que ce projet gagnerait à être poussé jusqu'au développement de composant, mais déjà comme il est on dirait qu'il peut rendre bien service. J'attends un jour où je vais beaucoup me déplace r : ça me fera de la lecture dans le train :)
Delf
Jérémy Jeanson a exprimé avec précision :
Non cela n'existe pas, désolé :(
Donc oui il serrait conseillé de faire remonter les informations de modifications par tes propres moyens.
Faire une classe qui hérite de ta collection, tu surcharges les méthodes Add(), Remove(), ... et tu utilises des delegates + events.
-- Delf
Jérémy Jeanson a exprimé avec précision :
Non cela n'existe pas, désolé :(
Donc oui il serrait conseillé de faire remonter les informations de
modifications par tes propres moyens.
Faire une classe qui hérite de ta collection, tu surcharges les
méthodes Add(), Remove(), ... et tu utilises des delegates + events.
Comme l'a indiqué Christophe sur le même sujet, on a la BindingList qui fait déjà ce genre de chose très bien.
Ne connaissant pas ce type ma réponse de l'époque est erronée. -- Jérémy JEANSON MCP http://jeremy.blogdns.net
Gloops
Delf a écrit, le 27/11/2008 22:32 :
Faire une classe qui hérite de ta collection, tu surcharges les mét hodes Add(), Remove(), ... et tu utilises des delegates + events.
Bonjour,
Ah, toi aussi, tu penses aux délégués. Mais surcharger la classe juste pour le plaisir d'écrire des délégu és ... C'est vrai qu'on peut entrevoir un intérêt si on pense avoir beaucoup d'applications avec des listes déroulantes à synchroniser av ec des fichiers texte.
Merci pour l'idée, je tâcherai d'y penser quand j'aurai exploité l' idée de Christophe, sur laquelle je pense bien passer un peu de temps ce week-end.
Delf a écrit, le 27/11/2008 22:32 :
Faire une classe qui hérite de ta collection, tu surcharges les mét hodes
Add(), Remove(), ... et tu utilises des delegates + events.
Bonjour,
Ah, toi aussi, tu penses aux délégués.
Mais surcharger la classe juste pour le plaisir d'écrire des délégu és
... C'est vrai qu'on peut entrevoir un intérêt si on pense avoir
beaucoup d'applications avec des listes déroulantes à synchroniser av ec
des fichiers texte.
Merci pour l'idée, je tâcherai d'y penser quand j'aurai exploité l' idée
de Christophe, sur laquelle je pense bien passer un peu de temps ce
week-end.
Faire une classe qui hérite de ta collection, tu surcharges les mét hodes Add(), Remove(), ... et tu utilises des delegates + events.
Bonjour,
Ah, toi aussi, tu penses aux délégués. Mais surcharger la classe juste pour le plaisir d'écrire des délégu és ... C'est vrai qu'on peut entrevoir un intérêt si on pense avoir beaucoup d'applications avec des listes déroulantes à synchroniser av ec des fichiers texte.
Merci pour l'idée, je tâcherai d'y penser quand j'aurai exploité l' idée de Christophe, sur laquelle je pense bien passer un peu de temps ce week-end.
Delf
Le 28/11/2008, Gloops a supposé :
Ah, toi aussi, tu penses aux délégués. Mais surcharger la classe juste pour le plaisir d'écrire des délégués ...
Ouais, j'y ai pensé. Sinon en C# 3.0 on ne peut pas ajouter des méthodes dans les classes du framework ? Je ne sais plus comment ça s'appelle mais p'tre ajouter AddWithEvent(), RemoveWithEvent(), etc... non ?
C'est vrai qu'on peut entrevoir un intérêt si on pense avoir beaucoup d'applications avec des listes déroulantes à synchroniser avec des fichiers texte.
Synchroniser des listes avec des fichiers texte ? Mettre un SystemFileWatcher sur les fichiers en écoute d'écriture et recharger les objets associés dès modification au niveau FS.
-- Delf
Le 28/11/2008, Gloops a supposé :
Ah, toi aussi, tu penses aux délégués.
Mais surcharger la classe juste pour le plaisir d'écrire des délégués ...
Ouais, j'y ai pensé.
Sinon en C# 3.0 on ne peut pas ajouter des méthodes dans les classes du
framework ? Je ne sais plus comment ça s'appelle mais p'tre ajouter
AddWithEvent(), RemoveWithEvent(), etc... non ?
C'est vrai qu'on peut entrevoir un intérêt si on pense avoir beaucoup
d'applications avec des listes déroulantes à synchroniser avec des fichiers
texte.
Synchroniser des listes avec des fichiers texte ?
Mettre un SystemFileWatcher sur les fichiers en écoute d'écriture et
recharger les objets associés dès modification au niveau FS.
Ah, toi aussi, tu penses aux délégués. Mais surcharger la classe juste pour le plaisir d'écrire des délégués ...
Ouais, j'y ai pensé. Sinon en C# 3.0 on ne peut pas ajouter des méthodes dans les classes du framework ? Je ne sais plus comment ça s'appelle mais p'tre ajouter AddWithEvent(), RemoveWithEvent(), etc... non ?
C'est vrai qu'on peut entrevoir un intérêt si on pense avoir beaucoup d'applications avec des listes déroulantes à synchroniser avec des fichiers texte.
Synchroniser des listes avec des fichiers texte ? Mettre un SystemFileWatcher sur les fichiers en écoute d'écriture et recharger les objets associés dès modification au niveau FS.