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

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  TABLEMODEL en c#

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

TABLEMODEL en c#

n°1028158
axxxelfole​y
Posté le 29-03-2005 à 11:43:52  profilanswer
 

Bonjour à tous,
 
Venant du monde Java et utilisant SWING, je cherche un équivalent au Tablemodel/Jtable pour une Datagrid ou composant grille équivalent.
 
Je trouve le data binding des datagrids peu objet contrairement aux TableModel éxistant en SWING ou l'on crée soit même le mapping.
 
Auriez vous des conseils à me donner ? Peut être n'aie-je pas compris la manière de fonctionner mais pour ma part je trouve laid le fait de mapper directement une vue base de données sur un objet GUI via un Dataset ou autre.
 
Je cherche donc une sous couche (KLOUG) permettant de s'interfacer avec la couche GUI.
 
Je vous remercie d'avance.

mood
Publicité
Posté le 29-03-2005 à 11:43:52  profilanswer
 

n°1028183
FlorentG
Posté le 29-03-2005 à 12:25:58  profilanswer
 

Dans un DataGrid, tu lui balance un truc qui implémente l'interface IList ou IListSource, et ça lui plaira :) Et sinon le contrôle est entièrement conigurable comme c'est pas possible, voit dans la MSDN ;)

n°1028192
axxxelfole​y
Posté le 29-03-2005 à 12:32:01  profilanswer
 

FlorentG a écrit :

Dans un DataGrid, tu lui balance un truc qui implémente l'interface IList ou IListSource, et ça lui plaira :) Et sinon le contrôle est entièrement conigurable comme c'est pas possible, voit dans la MSDN ;)


 
Merci.
J'y avais pensé effectivement en regardant la msdn, cependant le peu d'information sur l'implémentation de ces interfaces m'ont découragé.
 
N'aurais tu pas un exemple s'il te plait ?
 
Merci encore,
 
++

n°1028194
FlorentG
Posté le 29-03-2005 à 12:32:48  profilanswer
 

C'est quoi que tu veux faire exactement ? Quel gueule aura le truc intermédiaire ? :)

n°1028271
axxxelfole​y
Posté le 29-03-2005 à 13:35:41  profilanswer
 

FlorentG a écrit :

C'est quoi que tu veux faire exactement ? Quel gueule aura le truc intermédiaire ? :)


 
En gros,
j'aimerais gèrer une collection d'objets métiers dans cette couche qui aurait des methodes similaires aux TableModel java, par exemple :
- Type getColumnType()
- int getColumnCount()
- String getColumnName(int column)
- Object getValueAt(int rowIndex, int columnIndex)
 
Merci de ton aide.

n°1028344
FlorentG
Posté le 29-03-2005 à 14:19:04  profilanswer
 

Ah oui, j'me rappelle vaguement de tout ça... Comme dit, on peut faire moutlt chose avec le DataGrid. Genre mettre une ListBox dans une case, choisir un nom de colonne, etc...

n°1028373
axxxelfole​y
Posté le 29-03-2005 à 14:33:35  profilanswer
 

FlorentG a écrit :

Ah oui, j'me rappelle vaguement de tout ça... Comme dit, on peut faire moutlt chose avec le DataGrid. Genre mettre une ListBox dans une case, choisir un nom de colonne, etc...


 
Ton message est justement la chose que j'aimerais éviter :
 - Le GUI ne doit s'occuper que d'afficher génériquement des objets
 - Le fait d'avoir une listbox dans une case n'est juste qu'un problème de rendu et n'a pas grand chose à voir avec ma demande.
 
Ce n'est pas un problème de rendu mais juste de séparation des couches. J'aimerais un objet (implémentant certainement IList) possèdant le genre de méthodes citées plus haut dans le but de bien séparer les couches et que mon GUI (une datagrid par exemple) ne soit pas en lien direct avec ma base de données mais plutôt avec cette couche contenant une collection d'objets métiers.
 
Voilà.

n°1028385
FlorentG
Posté le 29-03-2005 à 14:40:49  profilanswer
 

Mouais :/ Personnellement, j'utiliserais un DataView... Faut pas vouloir trop séparer ;) Sinon tu risques de te faire bien chier pour répercuter les mises à jour vers la BD :D

n°1028400
axxxelfole​y
Posté le 29-03-2005 à 14:44:41  profilanswer
 

FlorentG a écrit :

Mouais :/ Personnellement, j'utiliserais un DataView... Faut pas vouloir trop séparer ;) Sinon tu risques de te faire bien chier pour répercuter les mises à jour vers la BD :D


 
Le fait de vouloir séparer ton GUI de ta base de données est quand même beaucoup plus propre.
C'est beaucoup plus évident de travailler avec de vrais objets métiers plutôt que de laisser gèrer ton GUI derrière.

n°1028406
FlorentG
Posté le 29-03-2005 à 14:47:53  profilanswer
 

Ca dépend. Le DataView est par exemple prévu justement pour être entre ta BD et ta GUI.

mood
Publicité
Posté le 29-03-2005 à 14:47:53  profilanswer
 

n°1028586
axxxelfole​y
Posté le 29-03-2005 à 16:14:25  profilanswer
 

FlorentG a écrit :

Ca dépend. Le DataView est par exemple prévu justement pour être entre ta BD et ta GUI.


 
C'est très moche en tout cas, d'autant plus que tu ne maîtrises rien et que pour des schémas un peu complexe comme j'ai le cas actuellement (imbrication d'objets métiers les uns dans les autres par exemple), tout tombe à l'eau. Lorsque je sélectionne un élément dans la datagrid, je veux pouvoir travailler sur un objet métier (type Client par exemple). Avec une dataview tu es obligé de refaire le binding objet, n'est ce pas M
 
Je veux juste savoir si quelqu'un a déjà essayé d'implémenter cette couche IList ou IListSource et s'il est possible de me donner un exemple.
 
Merci d'avance.

n°1028594
FlorentG
Posté le 29-03-2005 à 16:16:44  profilanswer
 

Aurait-tu un peu plus de détails sur la tronche de ta BD ?

n°1028625
axxxelfole​y
Posté le 29-03-2005 à 16:26:30  profilanswer
 

FlorentG a écrit :

Aurait-tu un peu plus de détails sur la tronche de ta BD ?


Là n'est pas le problème, je te remercie de t'intéresser à la problématique :)
 
Ayant l'habitude de travailler avec des TableModel en Java et trouvant qu'il est beaucoup plus confortable de jouer avec des objets, je veux juste savoir s'il éxiste l'équivalent (à priori oui) et comment l'implémenter.
 
Merci.

n°1028675
FlorentG
Posté le 29-03-2005 à 16:41:11  profilanswer
 

En fait le problème c'est que j'avais utilisé des TableModel en Java, mais y'a 3 ans, alors j'me rappelle plus :D

n°1028679
axxxelfole​y
Posté le 29-03-2005 à 16:43:26  profilanswer
 

FlorentG a écrit :

En fait le problème c'est que j'avais utilisé des TableModel en Java, mais y'a 3 ans, alors j'me rappelle plus :D


:lol:
Si qqun d'autre peut m'aider


Message édité par axxxelfoley le 29-03-2005 à 16:44:00
n°1028684
FlorentG
Posté le 29-03-2005 à 16:45:21  profilanswer
 

Donc en gros, si j'me rappelle bien, TableModel permet de renseigner sur le type de colonne, son nom, le nombre de colonnes dans l'objet, et de récupérer la valeur d'une case ?

n°1028691
axxxelfole​y
Posté le 29-03-2005 à 16:49:29  profilanswer
 

FlorentG a écrit :

Donc en gros, si j'me rappelle bien, TableModel permet de renseigner sur le type de colonne, son nom, le nombre de colonnes dans l'objet, et de récupérer la valeur d'une case ?


 
C'est vite résumé mais cela fait partie effectivement de ses fonctions. Il permet de mieux gèrer et manipuler les collections d'objets. Quand on parle de Type, c'est le Type de la données et non le Type de sa représentation graphique (qui en Java est effectué par un Renderer).
 

n°1028694
FlorentG
Posté le 29-03-2005 à 16:50:34  profilanswer
 

Ok je vois. Ben je soutient encore l'utilisation de Dataset/table/view, vu qu'ils sont prévus pour ça (et ne sont pas directement liés à la BD physique) :D

n°1028700
axxxelfole​y
Posté le 29-03-2005 à 16:54:08  profilanswer
 

FlorentG a écrit :

Ok je vois. Ben je soutient encore l'utilisation de Dataset/table/view, vu qu'ils sont prévus pour ça (et ne sont pas directement liés à la BD physique) :D


Une piste ici
http://noiseehc.freeweb.hu/IListSource.html
 
Je connais très bien le Dataset mais je veux un objet plus générique pour un schéma complexe que le Dataset ne peut résoudre.

n°1028702
FlorentG
Posté le 29-03-2005 à 16:56:18  profilanswer
 

C'est tellement complexe ? Y'a des imbrications ?

n°1028720
axxxelfole​y
Posté le 29-03-2005 à 17:03:10  profilanswer
 

FlorentG a écrit :

C'est tellement complexe ? Y'a des imbrications ?


Oui pas mal d'imbrication nécessitant un traitement spécifique.

n°1037619
juflo
Posté le 06-04-2005 à 15:55:52  profilanswer
 

Voici grosso modo l'architecture que tu dois utiliser.
Le DataGrid s'occupe du rendu (remplacement de clé étrangère par les libellés, affichage de date "jolies", etc ...)
Tu lui donnes à manger un DataView, qui s'occupe de certaines fonctionnalité (trie, filtre, etc ...)
Tu donnes à manger au DataView un DataSource qui lui correspond au mapping de ta(tes) table(s) en base.
 
Si tu veux plus de précisions, n'hésite pas :)

n°1037622
FlorentG
Posté le 06-04-2005 à 15:57:01  profilanswer
 

Ca je pense qu'il le sait déjà ;)

n°1037635
juflo
Posté le 06-04-2005 à 16:01:39  profilanswer
 

Autant pour moi alors ! :)

n°1037636
FlorentG
Posté le 06-04-2005 à 16:02:12  profilanswer
 

Faut juste arriver à lui faire piger que les DataSet sont parfaits commme business object :D

mood
Publicité
Posté le   profilanswer
 


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

  TABLEMODEL en c#

 

Sujets relatifs
[Java] Thread, TableModel et conception 
Plus de sujets relatifs à : TABLEMODEL en c#


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)