I enthält eine GWT CellTable verwende und der folgende Code sortiert nicht korrekt, wenn die Spalte NULL-Zellen als auch Zellen enthält, die nicht NULL:GWT CellTable sortiert nicht korrekt, wenn die Spalte NULL Zellen
columnSortHandler.setComparator(sixColumn, new Comparator<SectDtlsString>() {
@Override
public int compare(SectDtlsString o1, SectDtlsString o2) {
if (o1 == o2) {
return 0;
}
// Compare the Six columns.
if (o1 != null) {
return (o2 != null) ? o1.getsixPatrol().compareTo(o2.getsixPatrol()) : 1;
}
return -1;
}
});
table.addColumnSortHandler(columnSortHandler);
Zum Beispiel:
Schwarz, null, null, Rot - tut nichts. Es sollte zurückgeben - null, null, schwarz, rot bei der ersten Auswahl und rot, schwarz, null, null - bei der zweiten Auswahl
Schwarz, Rot, Braun, Tawney - zurück - Schwarz, Braun, Rot, Tawney auf erste Auswahl und - Tawney, Rot, Braun, Schwarz - bei der zweiten Auswahl (dh keine Nullen funktionieren).
Ich habe fast identischen Code, der sich auf Spalten bezieht, die NULLs nicht enthalten, und sie sortieren sehr gut. Ich habe diesen Code aus einem Tutorial kopiert.
Dies ist das Ergebnis nach der Beratung:
// Compare the Six columns.
if (o1 != null) {
if (o1 == o2) {
return 0;
}
if (o1.getsixPatrol() != null) {
if (o1.getsixPatrol() == o2.getsixPatrol()) {
return 0;
}
return o2 != null ? o1.getsixPatrol().compareTo(o2.getsixPatrol()) : 1;
}
}
return -1;
* der folgende Code wird nicht korrekt sortiert * - ein Beispiel für eine falsche Sortierung und ein Beispiel dafür, wie Sie es sortieren möchten, würde jedem helfen, der versucht, Ihnen zu helfen. –