Je browse, Google, cherche mais ne trouve rien pour un dataModel de rowset updatable générique.
J'entends par générique que l'on remplis une Jtable avec l'équivalent de 'select * from table' dans un Jtable et on update/insert/delete avec commit immédiate ou retarde en batch.
Je sais que pour JDBC c'est deja raté, car Select * ...' ne remplis pas les metadata et il faut donc faire un select column_name from all_table_column where table_name ='?' and owner = '?' Mais ca ca va encore.
Comme on a resultset.metadata qui contient les types de colonnes, il semble qu'on aie tout pour maintenir un dataModel avec les rowset.absolute(x) suivit de rowet.updatexxx(typeobj). Mais c'est loin d'être évident a réaliser.
Par exemple, faire un add d'un row dans mon Jtable qui se reportera a la table DB semble facile a première vue, mais 2 problèmes surviennent :
1) Il faut créer un row dont chaque colonne a le type équivalent a celui chargé au depart de la table pour chaque colonne. On serait tenté de prendre le même type que le type de la colonne, mais une table vide, qui a le droit d'etre populee, a un dataModel vide. Il faut alors se reporter a resultset.metadata.
2) Seule les colonnes qui seront effectivement remplie doivent être traitées en update dans le rowset, les autres doivent rester 'null' sauf si la colonne a une default value. Bref les cas s'enchaînent.
Ma question est :
Quelqu'un a déjà vu un dataModel générique pour une DB? Si je ne trouve rien, je pourrais toujours poster ce que j'ai déjà, mais j'ai plein de bug avec les TableSorter et les rowzebra car établir une fonction getColumnClass qui tient la route c'est pas aussi évident que ca en a l'air. J'ai meme pas encore entame les TableCellEditor : un pour chaque type connu de la DB.
J'entame cet exercice car je pensais connaître les Jtable jusqu'au moment ou j'ai essayé un rowset updatable. Java m'a filé une claque dont je me remet pas
Partager