Frage

diese Frage ich gefragt einen Datensatz in Teilmengen zu brechen, und bekam eine gute Antwort. Jetzt habe ich das umgekehrte Problem. Ich habe zwei verschiedene Datensätze bekam, Objekte aus zwei verschiedenen Unterklassen von einem gemeinsamen Vorfahren darstellen, und ich brauche die gleiche TDBLookupComboBox haben sie beide zur gleichen Zeit suchen, mit zwei Eigenschaften, ID # und Namen, die in den übergeordneten existieren Klasse.

Ein Nachschlag-Feld ermöglicht es Ihnen, die Dinge aus mehreren Quellfeldern zu sehen, aber nur in der gleichen Datenmenge, nicht zwei verschiedene. Und ein Lookup-Steuerelement kann Sie nur einen Nachschlag-Feld angeben, zu suchen. Wer weiß, wie ich Daten aus beiden Datensätzen erhalten könnte zusammen in dem Kombinationsfeld angezeigt werden?

War es hilfreich?

Lösung

Erstellen Sie Ihre eigenen TDBLookupComboBox, die mehrere Datenquellen erfolgt. . . . Ich habe erstellt DB bewusst Kontrollen vor (speziell Kombinationsfelder Dropdown). Sie sind ziemlich einfach zu tun und geben Ihnen alle Kontrolle, die Sie benötigen.

Andere Tipps

Sie können die Datensätze aus beiden Datensätzen in einen neuen Datensatz klonen, die die Vereinigung beider enthält.

Die Antwort ist in Ihrer ursprünglichen Frage Sie verknüpft. Sie sagen, die Mitglieder beiden Datensätze einen gemeinsamen Vorfahren haben. So setzen diese alle Objektdatensätze in auf einzelne TClientDataset, und dann für zwei Nachkommen Datensätze nur haben sie einen geklonten Cursor von diesem Basisdatensatz verwenden. So können Sie sie als auf verschiedene Sätze zuzugreifen, oder als ein kombinierter Satz.

Natürlich kommt der Knackpunkt in allen Daten, die in den abstammenden Klassen hinzugefügt wird, die nicht die Basisklasse geteilt wird, vorausgesetzt, Sie haben überhaupt. . .

Erstellen Sie eine TDataSource oder ein TDataSet Nachkomme, der tatsächlich eine Vereinigung von anderen TDataSets ist. Dann auf Insert fügen Sie entweder immer in eine bestimmte TDataSet, oder Regeln für den Wert eines bestimmten Feld basiert, die TDataSet bestimmt, welche in einzufügen. . . .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top