Path: csiph.com!weretis.net!feeder6.news.weretis.net!feeder5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Markus Franzke Newsgroups: de.comp.lang.javascript Subject: Re: datatables Date: Wed, 10 Jun 2020 12:25:04 +0200 Organization: solani.org Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 10 Jun 2020 10:25:04 -0000 (UTC) Injection-Info: solani.org; logging-data="28980"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 X-User-ID: eJwNysERACAIA7CVEGk9xwG0+4+gr3yCycFeQTAgyIw5PnGXWx7mPhDl3ma9h8/URWn/w6nuysUKWcOrmHxTKBYH Content-Language: en-US Cancel-Lock: sha1:HrjlrinMfJwHLNpZODZ5cttcxZg= In-Reply-To: Xref: csiph.com de.comp.lang.javascript:5211 Am 10.06.20 um 04:35 schrieb Maik Koenig: > Am 07.06.2020 um 14:15 schrieb Markus Franzke: >> Hallo. >> >> Hat hier jemand Erfahrung mit datatables (cdn.datatables.net) ? > > Etwas... ich habe das mal für eine private Seite benutzt. Aber frag > ruhig hier, ist ja JavaScript. Ob ich helfen kann ist ohnehin fragwürdig ;) > > Greetz, > MK > Fein. Dann fange ich mal mit den Vorbemerkungen an. Ich besitze eine kleine Sammlung von Hörbüchern. Dazu habe ich ein kleines Verwaltungsscript geschrieben, das die Bearbeitung durch mehrere Personen ermöglicht. Zu jedem Werk existieren Informationen über Autor, Sprecher, Laufzeit, Inhalt, was halt so bekannt ist. Diese sind sozusagen für alle Personen (Benutzer) gültig. Zusätzlich gibt es vier Felder (ganz unten), in denen jeder Benutzer eigene Daten ablegen kann, wie z.B. Bewertung, Wann das letzte Mal gehört, Wo archiviert, ... jeder, wie er will. Die Maske ist unter http://rudi-drahtlos.de/hb-screen.png zu sehen. Man kann in der Tabelle nach einem Werk suchen, dann werden dessen Informationen unten in die Felder zum Bearbeiten übernommen. Direkt in der Tabelle wollte ich nicht editieren, vor allem deshalb, weil die Tabellenbreite lange nicht für alle Felder ausreicht. Sobald ich in den Eingabefeldern etwas ändere, wird ein 'dirty' Flag gesetzt. Wenn ich das Editieren nun per ABORT abbreche, kann ich per confirm() fragen, ob das wirklich gewünscht ist. Wunderbar. ABER: Wenn ich im Zustand 'dirty' bin, kann ich nicht verhindern, daß ein anderer Eintrag in der Tabelle selektiert wird. Die unten vorgenommenen Änderungen gehen stillschweigend verloren. Ich habe schon etliche Anläufe unternommen, um 'deselect' oder 'deselect.dt' per Eventhandler abzufangen. Mein Eventhandler wird aktiviert, aber egal was ich zurückliefere oder ob ich e.stopImmediatePropagation() verwende, am Ende wird der anstehende Datensatz deaktiviert und der neue aktiviert. Also: Wie kann ich steuern, ob 'deselect.dt' und 'select.dt' von der Tabelle behandelt - oder von mir unterdrückt werden. Es würde auch helfen, wenn ich einfach die Tabelle temporär auf read-only setzen könnte, damit keine Änderung an der Selektierung möglich ist, bis ich unten entweder mit OK oder ABORT beende. Ich hoffe, das Problem ist klar. Die Antwort würde mein Leben sehr versüßen. ;-) M.