Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP General > Change font with IF statement problem

Reply
Thread Tools

Change font with IF statement problem

 
 
Simon Gare
Guest
Posts: n/a
 
      06-18-2006
Hi,

trying to hide zero values by changing the colour of the font, problem is it
is still printing in a light grey colour? Code below but cant work out where
it is going wrong.


<td width="45"<%
ThisNumber =
FormatNumber((DriverPayments.Fields.Item("CarParkT oDriver").Value), -1, -2,
-2, -2)
If ThisNumber > 0 then
fontcolor="#000000"
Else
fontcolor="#ffffff"
End if
%>><font color="<%=fontcolor%>"><%=
FormatNumber((DriverPayments.Fields.Item("CarParkT oDriver").Value), -1, -2,
-2, -2) %></font></td>

Thanks in advance

Simon


 
Reply With Quote
 
 
 
 
PW
Guest
Posts: n/a
 
      06-18-2006

"Simon Gare" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi,
>
> trying to hide zero values by changing the colour of the font, problem is
> it
> is still printing in a light grey colour? Code below but cant work out
> where
> it is going wrong.
>
>
> <td width="45"<%
> ThisNumber =
> FormatNumber((DriverPayments.Fields.Item("CarParkT oDriver").Value), -1, -2,
> -2, -2)
> If ThisNumber > 0 then
> fontcolor="#000000"
> Else
> fontcolor="#ffffff"
> End if
> %>><font color="<%=fontcolor%>"><%=
> FormatNumber((DriverPayments.Fields.Item("CarParkT oDriver").Value), -1, -2,
> -2, -2) %></font></td>
>
> Thanks in advance
>
> Simon
>
>



How about this instead ...

<td width="45">
<%
ThisNumber =
FormatNumber((DriverPayments.Fields.Item("CarParkT oDriver").Value), -1, -2,
-2, -2)
If ThisNumber > 0 then
response.write ThisNumber
Else
response.write "&nbsp"
End if
%>
</td>




 
Reply With Quote
 
 
 
 
Anthony Jones
Guest
Posts: n/a
 
      06-19-2006

"Simon Gare" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi,
>
> trying to hide zero values by changing the colour of the font, problem is

it
> is still printing in a light grey colour? Code below but cant work out

where
> it is going wrong.
>
>
> <td width="45"<%
> ThisNumber =
>

FormatNumber((DriverPayments.Fields.Item("CarParkT oDriver").Value), -1, -2,
> -2, -2)
> If ThisNumber > 0 then
> fontcolor="#000000"
> Else
> fontcolor="#ffffff"
> End if
> %>><font color="<%=fontcolor%>"><%=
>

FormatNumber((DriverPayments.Fields.Item("CarParkT oDriver").Value), -1, -2,
> -2, -2) %></font></td>
>
> Thanks in advance
>
> Simon
>
>


Lets take a look a FormatNumber. -2 is the default for the parameters to
which you are supplying it as is the -1. So lets stop doing that. It's a
fair bet the DriverPayments is an ADO recordset hence this all becomes:-

FormatNumber(DriverPayments("CarParkToDriver"))

You only need the format in the output not in the test variable. In fact
it's debatable whether you need a seperate variable at all.

Rather then mucking about with an additional font element why not modify the
style of the TD. In fact rather than mucking about with a style on a TD why
not use a class.

Also placing this sort of logic in line with HTML output makes things
difficult to read so use a function.



The result:-

In a block of server script at the top of the page

<%
Function GetTDClass(val)
If val > 0 Then
GetTDClass = "pos"
Else
GetTDClass = "neg"
End If
End Function
%>

In the <head> of the page:-

<style>
td.pos {color:black}
td.neg {color:white}
</style>

Now in your recordset loop:-

<td style="width:25px"
class="<%=GetTDClass(DriverPayments("CarParkToDriv er")%>">
<%=FormatNumber(DriverPayments("CarParkToDriver")) %></td>


Since it's likely that you are attempting to hide the 0 or negative values
by using white on white this is probably not the best approach. If at some
point you wanted a different background color say a light blue pastel or
some such, these characters would become visible. There are conditions
where having the value in the source output (although not currently visible)
is a useful. Use:-

<style>
td.pos span {visibility:visible}
td.neg span {visibility:hidden}
</style>

and:-

<td style="width:25px"
class="<%=GetTDClass(DriverPayments("CarParkToDriv er")%>">
<span><%=FormatNumber(DriverPayments("CarParkToDri ver"))%></span></td>



OTH if you don't need to the 0 or negative number on the client then PW's
solution of just sending &nbsp; is a good one, there are no need for styles.
Applying the function approach though:-

<%
Function FormatPosNumOnly(val)
If val > 0 Then
FormatPosNumOnly= FormatNumber(val)
Else
FormatPosNumOnly= "&nbsp;" ' & n b s p ;
End If
End Function
%>

and:-

<td style="width:25px">
<%=FormatPosNumOnly(DriverPayments("CarParkToDrive r"))%>
</td>


Anthony.


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Swing Font, it's Java Font? ot native? how install new font? mttc Java 2 07-03-2009 07:29 PM
How to get the text in html tag.like<div...><font...>Text</font></ =?Utf-8?B?Tmlja3k=?= ASP .Net 2 02-20-2005 03:03 PM
Font class, external font files question Karl Hungus ASP .Net 1 02-04-2004 04:26 PM
JavaRE 1.4.2 font alias in /lib/font.properties (Linux) Nick Spinel Java 0 07-25-2003 08:28 AM
physical font specified but true type font file not available Michael Glavitsch Java 1 07-15-2003 07:09 PM



Advertisments