Re: Frage zu Liste
- From: "Heinz Ozwirk" <hozwirk.SPAM@xxxxxxxx>
- Date: Tue, 15 Aug 2006 11:19:21 +0200
"Oliver Reinhard" <reinhard@xxxxxxxxxxxxxxxxx> schrieb im Newsbeitrag news:uV4qoAEwGHA.4972@xxxxxxxxxxxxxxxxxxxxxxx
Hi, ich habe ein Problem was wohl eher ein logisches ist, als dass es mit C++ zutun hat, aber wenn man die richtige Funktion kennt, löst es sich vielleicht auch.
Ich hab das mal hier beschrieben:
http://forum.fachinformatiker.de/c-compiler-ides-apis/95806-frage-zu-liste-logikproblem.html
Ohne diese Sortiereri nach Datum würde ich einfach eine zweite Liste machen, in der die Position des Eintrags in dem CListCrtl steht und der Primärschlüssel in der Tabelle Dokumente. :-(
Würde mich freuen, wenn ihr mir helfen könnt.
Wenn man Datensätze aus einer Datenbank in einem Programm verwendet, sollte man sich immer ein eindeutiges Merkmal zur Identifikation der Datensätze in der Datenbank merken. Es muss ja nicht unbedingt der Primärschlüssel sein. Jedes andere eindeutige Merkmal tut's auch. Vielleicht reicht in deinem Fall ja sogar der Dateiname.
Ich würde nicht voraussetzen, dass die Daten vom Programm in der Reihenfolge angezeigt werden, in der sie aus der Datenbank kommen. So lange nach einem Datum sortiert wird, geht das vielleicht, aber wenn die Daten nach irgendeinem String sortiert werden, dann sind sich die Datenbank und das Programm nicht unbedingt einig über die Reihenfolge. Außerdem müsste man dann jedes Mal, wenn der Benutzer die Daten in einer anderen Reihenfolge sehen will, eine neue Datenbank-Anfrage starten. Was ist, wenn der Benutzer irgendwann einmal wählen soll, ob in der Liste die Daten nach Datum oder Name angezeigt werden sollen? Die visuelle Aufbereitung der Daten sollte, wenn möglich, unabhängig von der Reihenfolge in der Datenbank sein.
CListCtrl bietet die Möglichkeit, jedem Element in der Liste einen zusätzlichen Parameter zuzuordnen. Dieser kann mit SetItemData gesetzt und mit GetItemData wieder abgefragt werden. Darin kann z.B. der Index des urspürnglichen Elements in einem Array oder seine Position in der Datenbank stehen. Der Benutzer kann dann die Reihenfolge in der Liste ändern so viel er will. Jedes Element behält sein ItemData, egal wo es in der Liste steht. Mit diesen zusätzlichen Daten, lässt sich dann der entsprechende Datensatz im Dokument oder in der Datenbank leicht wieder finden (wenn man seine Daten ordentlich organisiert hat).
HTH
Heinz
.
- References:
- Frage zu Liste
- From: Oliver Reinhard
- Frage zu Liste
- Prev by Date: Re: Mal wieder Lokalisierung à la Martin Richter
- Next by Date: Q: Was kann denn bei GetTextExtent crashen?
- Previous by thread: Re: Frage zu Liste
- Next by thread: Re: Frage zu Liste
- Index(es):
Relevant Pages
|