- Kanada big tech-adót zúdít az amerikai cégek nyakába
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Van, ahol már törvényben védik az agyhullámainkat
- Mikrotik routerek
- OpenMediaVault
- Nagy botrányt okoz az EU kiberbiztonsági terve
- Az űrben gyártanák a gyógyszereket
- Alternatív kriptopénzek, altcoinok bányászata
- AI-gyártású celebpornóval küzd a Facebook
- Aliexpress tapasztalatok
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
- Dell Latitude 7370 13col FHD IPS, M5-6Y57, 8GB DDR3, 128GB SSD,Újlenyomatolvasó/Win11
- Latitude 5420 27% 14" FHD IPS, i7-1185G7 Iris Xe G7 16GB 512GB NVMe IR kam gar
- Fehér Lenovo GAMING3 NVIDIA RTX 3060 6gb i7-12650H 16gb ram 500gb ssd FHD 165HZ windows1
- Eladó Dell Latitude 3310
- Eladó Lenovo ThinkPad T495s notebook