Keresés

Aktív témák

  • Alan

    aktív tag

    válasz Imrege #2 üzenetére

    Elég nehéz kérdés, mert a normál DBGrid-del ezt problémás lesz megoldani.

    Már régen használtam a TDBGrid-et, ezért nem emlékszem, milyen metódusai vannak errea a célra, de az alapelv az, hogy meghatározod, melyik rekord a legfelső a DBGrid-ben, aztán ehhez képest a relatív egérkoordináták alapján kiszámítod, melyik felett áll az egér, és a cellákban lévő string-eket kibányászod belőle. Ehhez valószínűleg származtatnod kell saját grid-et, mert nem hiszem, hogy a DBGrid szintjén még megengedné, hogy magukat a cellákat vizsgáld vagy módosítsd (azért DBGrid).

    Ha esetleg olyan adatot akarsz hint-ben megjeleníteni, ami nincs a képernyőn (mert pl. nincs hozzá oszlop definiálva a grid-ben), de az adatrekordban szerepel, akkor ez egyáltalán nem fog menni, mert az adatbáziskurzort nem mozdíthatod el, hiszen akkor a fókusz is elmozdul, amit nem akarsz. Ehhez olyan grid kell, ami offline módon kezeli az adatokat, tehát betölti az egészet (vagy legalább n rekordot, pl. a láthatóakat) a memóriába és elérhetővé teszi ezeket kívülről az adatbáziskurzor mozgatása nélkül is.

    Tehát nem könnyű a dolog, nem biztos, hogy érdemes vele foglalkozni. Ha mindenképpen kell, én azt csinálnám, hogy származtatok egy új komponenst a TCustomDBGrid-ből és ebben ismét elérhetővé teszem a cellákat, valamint lemondanék a nem látható információk megjelenítéséről.

Aktív témák