Aktív témák
-
Imrege
csendes tag
Helo!
Tud-e valaki arra módszert, hogy Delphiben a DBgrid használatakor kinyomozzam azt a rekordot, amin az egérmutató éppen áll? Nem az aktuálisan kiválasztott rekord érdekel, hanem csak ha mászkálok a nyíllal a rácson. Pl. alatta mindig mutasson a mutatott rekordról kiegészítő infókat meg minden.
Az a baj, hogy ha alkalmazom az OnMouseMove eseményt, ott az y koordináta a rács aktuálisan látható soraihoz képest mutatja, hogy hol járok, tehát ha a 100. rekordtól látom, mert oda scrolloztam, akkor az lesz neki az 1. sor.
Szóval, ötlet kellene... -
Imrege
csendes tag
Na? Senki se gridel Delphiben?
-
Alan
aktív tag
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. -
Imrege
csendes tag
Aha. Tulajdonképpen az a szitu, hogy egy DBGridben megjelenítek szöveges és numerikus mezőket. A méretek és egyéb infók miatt a szöveges oszlop nem olyan széles, hogy minden adat kiférjen (egy csomónak le van vágva a vége). Ezért gondoltam arra, hogy az egérkurzor alatti sort megmutatom Hint-ben vagy egy Labelben.
Ez a származtatás-dolog nem rossz. Talán vannak a TCustomDBGrid-nek olyan tulajdonságai/metódusai, amikkel hozzá tudok férni egy cella tartalmához. Kipróbálom, kösz. -
Torontál S.
csendes tag
Pazarló , de gyors megoldás készíteni egy másolatot a tábláról, és a fenti módszerrel navigálni benne. ekkor bármit kiszedhetsz. ha a tábla módosul, a másolatodat is frissíted. szerintem.
Aktív témák
- Ingyenes vagy akciós szoftverek
- Luck Dragon: Asszociációs játék. :)
- A fociról könnyedén, egy baráti társaságban
- Mikrotik routerek
- Motorola Moto G24 Power - hol van az erő?
- Gyúrósok ide!
- Megjelentek az első HMD okostelefonok, ezek a magyar áraik
- OpenWRT topic
- Milyen RAM-ot vegyek?
- Stellar Blade
- További aktív témák...