Selektierbare Tabelle mit "fixed-header"

zoidberger

Mitglied
Hey Leute.. ich versuche gerade verzweifelt ein Problem in den Griff zu bekommen, das folgendermaßen entsteht:

ich habe diese "pure css scrollable table" (hier gefunden und verwendet. Das ganze in ein Div gepackt und mit javascript eine Select-Funktion geschrieben. Das Scrollen und der funktioniert und der header bleibt immer schön oben stehen. Nur, sobald ich nach unten scrolle und eine zeile auswähle wird durch das rerendering der header an "den anfang" der tabelle gesetzt...
Ich hab mir nun schon überlegt, die scroll position auszulesen, kurzzeitig ganz nach oben scrollen zu lassen, dann die selektion zu handeln und wieder nach unten scrollen lassen.
Das wäre allerdings nur gepfuscht und.. ich würde mich schlecht dabei fühlen ;-)
Hat mir da jemand nen tipp?

Achja, es handelt sich dabei im übrigen um eine jsp seite.. wenn also jemand alternativen wie displayTag kennt, nur her damit!

Vielen Dank im Vorraus!
 
Moin,

hast du die Möglichkeit, da mal eine Demo online zu stellen?

Ohne deine Selektier-Funktion zu kennen, ist es recht schwer, da etwas zu Sagen.
 
Okay, klingt logisch ;)
Also hier meine leicht verallgemeinerte Javascript Funktion "setSelection"

Code:
function setSelection(Id) {

				$('table#sInfo tbody tr').removeClass('odd');
				$('table#sInfo tbody tr').removeClass('even');
				$('table#sInfo tbody tr').removeClass('selected');
				$('table#sInfo tbody tr:odd').addClass('odd');
				$('table#sInfo tbody tr:even').addClass('even');
				$('tr#' + Id ).toggleClass('selected');			
}

und noch kurz eine Erklärung was das soll: Ich habe die einzelnen Zeilen mit Klassen gefüllt.. um sie unterschiedlich zu färben. Die selektierte Zeile sollte dann eben dunkler gefärbt werden und wird deshalb mit einer "selected" Klasse gefüllt. Beim rerendering passiert dann jedoch der oben beschriebene Fehler.
//EDIT:
Achja, die "table#sinfo"s sind jQuerys...

Ich habe nun vorläufig mal eine zweite Tabelle als "Head" über die erste gesetzt.. das ist nun natürlich keine gescheite Lösung. Wenn es andererseits überhaupt nicht möglich ist, eine selectable table mit fixed header zu benutzen, werde ich das wohl so lassen müssen ;-)
 
Hast du meine SetSelection-Funktion verwendet, oder was genau funktioniert bei dir?
Ich benutze übrigens gerade ie6 und bei mir funktioniert es nicht..

Für den fall, dass du ne andere selection-funktion hast, bitte posten ;-)
 
Zurück