Další kapitolou dnešního HotLine je Grid. Je horší nebo lepší než BROWSE? Je takový, jaký je, a je to objekt a ten do objektového programování prostě patří. Ale co když neposlouchá? Nezbývá než ho umravnit. V odpovědi na další dotaz je popsán jeden malý trik.
Na formuláři mám Grid, ve kterém nastavím šířku sloupců a jiné formátování. Při prvním zobrazení je vše OK. Provedu PACK a zmizí tabulka, po přiřazení RecodSource zmizí formátování. Čím to ?
Je to způsobeno nedokumentovanou vlastností Gridu. Před příkazem PACK (ale i před novým SQL dotazem) je nutné nastavit RecordSource na prázdnou hodnotu *). Například:
WITH Thisform .LockScreen=.T. && Aby neblikala obrazovka .Grid1.RecordSource="" PACK .Grid1.RecordSource="Tabulka" && Není nutné volat Refresh() .LockScreen=.F. ENDWITH
Jak vysvítím celý řádek v Gridu ?
Jak zvýrazním řádky se zápornou hodnotou?
Oba dotazy lze odbýt jednou odpovědí: použijte kolekci vlastností Dynamic (je jich celá škála DynamicBackColor,DynamicForeColor,DynamicFontSize a další). Příklad použití je v ukázkové aplikaci Solution ***), která se dodává spolu s Visual Foxpro 5.0, 6.0, nebo v Helpu u hesla DynamicBackColor.
Martin Růžička
* | Pozn. přepis.: | I pro mě to byla novinka, příjemná. |
** | Pozn. přepis.: | Bohužel, ne vše. Podrobně je to popsáno v článku Grid - část první |
*** | Pozn. přepis.: | Je velmi zajímavé, jak začátečníci (i čnice) zcela tuto aplikaci ignorují. Vždyť je tam spousta věcí: ActiveX, OLE (přístup na Wordovský dokument,Excelovský Sheet,tvorba grafu), hrátky s gridem, zobrazení sledu událostí atd. |