[Gambas-user] make Label background from Database field
Doriano Blengino
doriano.blengino at ...1909...
Sat Oct 17 10:47:22 CEST 2009
Vassilis K ha scritto:
> Dimitri
>
> I changed it to your proposed option and I get :
> "Result is not available"
> error at line:
> SELECT CASE rsThesi!thesi
>
> I do not know why it doesn't read the Result from database!!!
>
> You are right about the grid option. It looks more logical for 100 Labels!
> But I have made an image and put the Labels on it! So it is better to have an
> image than a grid!
>
Given that you have created 100 labels in Form1, without using in-middle
containers (ie, all the labels reside directly on form1), you can change
properties of each one with the following example routine:
sub change_bgcolor(labelname as string)
dim alabel as Label
for each alabel in Form1.children
if alabel.name = labelname then
alabel.background = color.red
end if
next
end
You should use this subroutine in code like this:
WHILE rsThesi.Index < rsThesi.Count
change_bgcolor("Label" & rsThesi!thesi)
rsThesi.next
wend
...or something like that,
If you used some in-middle container to arrange your labels, then you
must use the name of that container instead of "Form1" in the subroutine
above, because the labels are no more children of Form1 but children,
for example, of VBox1 (well, Form1.Vbox1).
You see, you can scan all the children of a container (and a form *is* a
container). The example routine scans all the children until it finds
the one you want, by name (passed in parameter). A more general method
would be to write a subroutine returning a reference to the label,
instead of setting properties directly in the subroutine. This would be
far better from the cleaness of the code.
Regards,
--
Doriano Blengino
"Listen twice before you speak.
This is why we have two ears, but only one mouth."
More information about the User
mailing list