Cetin
No it was my fault - gimmecolor was ok but in the form init I had it as GimmeColor also I was using the wrong database - so it's working
Cetin - you have a gift for providing a solution in simple terms - thank you
Just 1 more question - Return 0x0000FF defines a certain color - how do I find these values from RGB values as I need to convert existing RGB to these values - or can I use RGB?
Thanks very much
Colin
>Colin,
>My guess is that it's about English:) Could you be that I wrote it as GimmeColor and you created your method as GimmeColour?
>
>
>Public oForm
>oForm = Createobject('myForm')
>oForm.Show
>
>Define Class myForm As Form
> DataSession=2
> Height = 450
>
> Add Object myGrid As Grid With Height = 450
>
> Procedure Load
> Create Cursor manifest (Status c(1), myField i)
> For ix=1 To 20
> Insert Into manifest Values (Chr(Asc('A')+Int(Rand()*5)),m.ix)
> Endfor
> Locate
> Endproc
>
> Procedure GimmeColour
> Lparameters tcValue
> Do Case
> Case m.tcValue = 'A'
> Return 0xFF0000
> Case m.tcValue = 'B'
> Return 0x00FF00
> Case m.tcValue = 'C'
> Return 0x0000FF
> Otherwise
> Return 0xFFFFFF
> Endcase
> Endproc
>
> Procedure Init
> This.myGrid.SetAll('DynamicBackColor','(thisform.GimmeColour(manifest.status))')
> Endproc
>Enddefine
>
Cetin
>
>>Cetin
>>
>>I have put the first line ie
>>
>>thisform.grid1.Setall('DynamicBackColor','(thisform.GimmeColor(manifest.status))') in form init
>>
>>The rest of your code I have out in a new form method called GimmeColor
>>
>>I get invalid dynamicbackcolour expression
>>
>>What have i done wrong?
>>
>>Colin
>>
>>>>I have tried multiple colors in a grid before but so far have not cracked it even with help from the experts
>>>>
>>>>Let me try again
>>>>
>>>>I have a table called manifest which has a field called status
>>>>
>>>>If status is A I want to color the row blue
>>>>If B the row will be red
>>>>If C the row will be green
>>>>
>>>>How do I do it?
>>>>
>>>>A real layman's explanation would be greatly appreciated
>>>>
>>>>Thanks
>>>>
>>>>Colin Northway
>>>
>>>
>>>* Anywhere you want to set dynamic coloring - ie: form init
>>>thisform.myGrid.Setall('DynamicBackColor','(thisform.GimmeColor(manifest.status))')
>>>
>>>*Form custom GimmeColor
>>>lparameters tcValue
>>>do case
>>>case m.tcValue = 'A'
>>> return 0xFF0000
>>>case m.tcValue = 'B'
>>> return 0x00FF00
>>>case m.tcValue = 'C'
>>> return 0x0000FF
>>>otherwise
>>> return 0xFFFFFF
>>>endcase
Cetin
Specialist in Advertising, Marketing, especially Direct Marketing
I run courses in Business Management and Marketing