Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Changing row colour of grid based on condition
Message
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
01531331
Message ID:
01531356
Views:
30
>>>>>>>>>My grid is driven by a table called collections
>>>>>>>>>
>>>>>>>>>If the service column of any record contains any one of the following I want that row to be black, otherwise red
>>>>>>>>>
>>>>>>>>>STANDARD
>>>>>>>>>ECONOMY SERVICE
>>>>>>>>>STANDARD (EXPRESS)
>>>>>>>>>ECONOMY
>>>>>>>>>
>>>>>>>>>and where do I put the relevant code?
>>>>>>>>
>>>>>>>>
>>>>>>>>*** Init event of the Form
>>>>>>>>
>>>>>>>>thisform.GridObject.SetAll("DynamicForeColor","thisform.SetGridColor()","Column")
>>>>>>>>
>>>>>>>>
>>>>>>>>*** Add a new method in the form called SetGridColor
>>>>>>>>*** In it:
>>>>>>>>lnRetColor = RGB(0,0,0) && Black
>>>>>>>>IF UPPER(ALLTRIM(GridTable.ServiceColumn)) == "STANDARD"           OR;
>>>>>>>>   UPPER(ALLTRIM(GridTable.ServiceColumn)) == "ECONOMY SERVICE"    OR;
>>>>>>>>   UPPER(ALLTRIM(GridTable.ServiceColumn)) == "STANDARD (EXPRESS)" OR;
>>>>>>>>   UPPER(ALLTRIM(GridTable.ServiceColumn)) == "ECONOMY"
>>>>>>>>   lnRetColor = RGB(255,0,0) && Red
>>>>>>>>ENDIF
>>>>>>>>
>>>>>>>>RETURN m.lnRetColor
>>>>>>>>
>>>>>>>>I made it as a method, because if tomorrow you (your client) decide to have different colors for different Services to be much easier :-)
>>>>>>>
>>>>>>>Boris
>>>>>>>
>>>>>>>I get unknown member gridobject when the form loads
>>>>>>>
>>>>>>>Colin
>>>>>>
>>>>>>
>>>>>>GridObject -> this should be the real name of the grid. Something like thisform.Grid1 or Thsiform.Container1.Grid1 ...
>>>>>>I don't know this real name of the grid, that is why I used some name :-)
>>>>>
>>>>>of course - grid 1
>>>>>
>>>>>bit it's setting the backcolor not the forcolor - see my second post
>>>>>
>>>>>Thanks
>>>>
>>>>No way.
>>>>When you use DynamicForeColor the ForeColor will be changed.
>>>
>>>OK got it - thanks for your patience
>>
>>:-)
>>You are welcome.
>
>One last question - how do I get the forecolor to be bold - I have set it that way in the grid properties - what else do i need to do?

It depends.
If you want Bold to be persistent (for ALL records in the grid):
thisform.GridName.SetAll("FontBold", .t., "Column")
If you want Bold to be Dynamic (like ForeColor) :
thisform.GridName.SetAll("DynamicFontBold", "thisform.SetFontBold()", "Column")
*** SetFontBold method
lbFontBold = .f.
IF (conditions where Font should be bold)
   lbFontBold = .t.
ENDIF
RETURN m.lbFontBold
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform