2010-08-26 4 views
0

J'ai un JTable dont le modèle est personnalisé qui étend AbstractTableModel.Utilisation de tri automatique sur un JTable et retour des données correctes

De cette manière, les données proviennent d'une classe de liste.

public Object getValueAt(int row, int col) 
{ 
if (col == 0) { 
    return searchThings.getThing(row).getTitle(); 
} else if (col == 1) { 
    return searchThings.getThing(row).getDate(); 
} else { 
    return ""; 
} 
} 

Cela fonctionne parfaitement, et les dates et les titres sont corrects. Ils peuvent tous être triés en utilisant la méthode automatique (cliquez sur l'en-tête et il trie, vous pouvez échanger autour des cols, etc.) et tout s'affiche correctement.

La question est la suivante: Comment puis-je retourner la bonne référence d'article ou l'ensemble de données? Comme ils ne conservent pas leurs index d'origine. Exemple "test 2" est l'entrée 1. Maintenant, si je ne trier la table, je peux retourner la ligne et utiliser ce numéro pour rechercher la position dans la liste. Mais si je trier par date, le test 2 est maintenant index 4 et je reçois la mauvaise référence de jeu de données (puisque je regarde directement la source d'origine).

Maintenant, il doit y avoir un moyen de savoir quel était l'index de données d'origine puisque le tableau affiche les données correctes! Veuillez aider!

:)

merci d'avance!

Répondre

0
+1

Lien reformaté; s'il vous plaît revenir si incorrect. – trashgod

+0

parfait merci. (et la raison pour laquelle j'ai mis des simples était due à l'annonce de suricate sur le mo "Simples!" pas moi mal orthographié :)) – Dorjan