Results 1 to 3 of 3

Thread: Data aware component schrijven - Welke datalink?

  1. #1

    Data aware component schrijven - Welke datalink?

    Hallo hallo,

    Voor mijn applicatie ben ik een soort non-visual lookup data aware component aan het schrijven. Het is de bedoeling dat je een bron en doel datasource instelt en voor iedere datasource een datafield en keyfield. Ik maak hiervoor gebruik van 4 TFieldDataLinks. Als er iets in de bron datasource veranderd en de doel datasource staat in editmode, dan en slechts dan moet het datafield en keyfield van de doeldatasource worden ingevuld met de waarden uit de bron tabel. (Het datafield van de doel datasource wordt overigens niet teruggeschreven naar de database). Bij navigatie door de doeldatasource hoeft er niks te gebeuren in de bron datasource (Het is dus geen een traditionele lookup)

    Nu werkt mijn component op zich wel (los van wat problemen bij het afsluiten van de applicatie, die ik nog moet oplossen) alleen kan ik in designtime slechts één field van de vier vullen met behulp van een dropdown. De overige fieldnamen kan ik wel gewoon zetten maar als een gewone edit, niet als een dropdown. Mijn vragen:

    1) Zijn de vier FieldDataLinks correct of moet ik een ander object gebruiken. Ik zag dat de DBLookupCombobox een TDataSourceLink gebruikt.

    2) Hoe kan het dat ik één field wel met een dropdown kan zetten en de andere drie niet? Bij mijn weten heb ik niks speciaals gedaan.

    Bij voorbaat dank!

  2. #2
    Silly member NGLN's Avatar
    Join Date
    Aug 2004
    Location
    Werkendam
    Posts
    5,133
    1) Als je elk DataField individueel synchroon wilt kunnen houden met de betreffende DataSet, dan wel. Maar volgens mij heb jij genoeg aan één TDataLink naar de bron-DataSource. Je stelt alle vier de fields namelijk designtime in, net als bij een DBLookupCombobox en de waarden van die fields interesseert je verder niet. Als de doel DataSet scrollt of anderszins verandert, hoeft er ook niets te gebeuren. Dus alleen bij het scrollen van de bron-DataSource, dan ga je waarden van de fields kopiëren (mist de doel in Edit staat, maar dat kan je dus op dát moment controleren), en dat doe je dan in de RecordChanged procedure.

    2) Welk type property Editor de IDE instantieert is afhankelijk van: het type property, de naam van de property, en de klasse waartoe die property behoort. Als de IDE de combinatie niet herkent (niet geregistreerd d.m.v. RegisterPropertyEditor), dan wordt de standaard property editor gebruikt (een gewone edit). Oftewel, verander de naamgeving (dat zal waarschijnlijk niet gaan, of is ongewenst), of implementeer en registreer zelf een property editor.
    (Sender as TNLDUser).Signature := 'Groeten van Albert';

  3. #3
    Ontzettend bedankt voor heldere uitleg NGLN! Het is me helemaal duidelijk!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •