Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi - DBGrid - farebnosť tabuľky a zistenie súradníc pri OnCellClick

1. Chcel by som vedieť, ako zmeniť farbu určitého riadka v tabuľke? Využitie je napr. na to, že opticky sa rozdelia riadky a tabuľka je prehľadnejšia.

2. Keď kliknem do tabuľky, tak chce, aby sa otvorilo okno, kde zadám hodnotu danej bunky. Keď som nastavil udalosť OnCellClick, tak sa mi vytvorila metóda DBGridCellClick(Column: TColumn). Ako z typu TColumn zistím stĺpec a riadok tabuľky?

Předmět Autor Datum
1. OnDrawCell, priklad na vykreslovani je v helpu 2. Radek vis, stojis na nem v Datasetu (dbGrid.Da…
Jan Fiala 26.04.2007 11:04
Jan Fiala
Prosím ťa, ešte ma napadlo, lepšie by bolo, keby sa to dalo editovať priamo v tabuľke, ako pri TTabl…
msx. 26.04.2007 11:15
msx.
Live Query je mozne - prima editace v DBGridu, ale je nutne dodrzet urcite zasady - vetu je nutne je…
Jan Fiala 26.04.2007 11:37
Jan Fiala
No ja tam tabuľky spájam, takže z toho nič nebude. Ide o to, že v tabuľke sa do jedného stĺpca nasáč…
msx. 26.04.2007 11:56
msx.
Co používáš za DB připojení? BDE (které bych nedoporučoval) obsahovalo komponentu Update SQL, kde si…
Jan Fiala 26.04.2007 12:30
Jan Fiala
BDE. Myslíš, či mám InterBase, BDE alebo niečo iné?
msx. 30.04.2007 23:20
msx.
Pokud používáš BDE, podívej se na komponentu TUpdateSQL. Ta ti vyřeší problém s aktualizací dat. poslední
Jan Fiala 01.05.2007 10:07
Jan Fiala
2. Sloupec tabulky v OnCellClick: Column.Field --> aktuální pole tabulky typu TField. 2. To je trošk…
Rce 01.05.2007 00:20
Rce

Prosím ťa, ešte ma napadlo, lepšie by bolo, keby sa to dalo editovať priamo v tabuľke, ako pri TTable, keď povolím editáciu. Samozrejme pri TQuery sa to nedá, ale keby sa aspoň dalo, že niekde dostanem hodnotu, ktorá sa zeditovala a tú už programovo hodím do tabuľky. Také niečo sa dá? Takto ušetrím zbytočné otváranie okna kvôli zápisu novej hodnoty. Ale chcem to tak, že editovať sa bude dať len určený stĺpec.

Live Query je mozne - prima editace v DBGridu, ale je nutne dodrzet urcite zasady - vetu je nutne jednoznacne identifikovat (unikatni klic) a nesmi se pouzit agregovane funkce (Group By) nebo spojeni vice tabulek.

CO se tyka editace jednoho sloupce, v dbGrid.Columns si muzes nastavit, zda sloupec bude ReadOnly nebo ne (aspon, co si pamatuju)

No ja tam tabuľky spájam, takže z toho nič nebude. Ide o to, že v tabuľke sa do jedného stĺpca nasáčkojú názvy produktov miesto ID čísel, názvy prác miesto ID čísel a hneď tu máme 3 spojené tabuľky. Tak ďakujem. Keď poriešim a nebude problém, označím za vyriešené. Zatiaľ nechám takto.

2. Sloupec tabulky v OnCellClick: Column.Field --> aktuální pole tabulky typu TField.
2. To je trošku složitější (předpokládáme, že mřížka na formu se jmenuje DBGrid1):

type TCustomDBGridCrack	= class (TCustomDBGrid);
---
---
Radek_tabulky :=  TCustomDBGridCrack (DBGrid1).DataLink.ActiveRecord;

Zpět do poradny Odpovědět na původní otázku Nahoru