|
Re: Report Scripting : change cell background [message #144663 is a reply to message #144596] |
Thu, 16 March 2006 18:39 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) ![Go to next message Go to next message](theme/Solstice/images/down.png) |
Eclipse User![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=) |
|
|
|
You can set the background of a cell using the onCreate and
this.getStyle().backgroundColor = "blue";
I assume you want to do this based on a value in the control on the cell.
If you have a value in a data element called samplevalue in the cell and
you color the cell if this value is > 5,
then in the onCreate of the row you could.
if( this.getRowData().getExpressionValue( "row[SampleValue]" ) > 5 ){
yellowme = true;
}else{
yellowme = false;
}
define yellowme in initialize
yellowme = false;
finally on the chosen cell
if( yellowme ){
this.getStyle().backgroundColor = "Yellow";
}
I dont think this will work if you try to to set it on the getValue() of the
control, because by that time the onCreate has already been executed on the
cell.
Jason
"Dov MORYUSF" <moryusef@hotmail.com> wrote in message
news:dvc6nk$kh8$1@utils.eclipse.org...
> Hi to all,
>
> Is it possible to change in a row the background of a unique cell ?
>
> I've found examples for changing the background of a whole row but not for
> a cell:
> http://www.eclipse.org/birt/phoenix/deploy/reportScripting.p hp
>
> Thanks a lot for your help
>
> DM
|
|
|
Re: Report Scripting : change cell background [message #145006 is a reply to message #144663] |
Fri, 17 March 2006 10:48 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Eclipse User![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=) |
|
|
|
I've found the solution ....
I've created a class which implements ICellEventHandler and applied it
to the specific cell in my rptdesign :
For example :
public class CellImpl implements ICellEventHandler {
public void onCreate(ICellInstance arg0, IReportContext arg1) {
try {
Object data = arg0.getData();
if (data != null) {
if ("".equals(data.toString().trim())) {
arg0.getStyle().setBackgroundColor("yellow");
}
}
} catch (Exception e) {
// TODO: handle exception
}
}
public void onPrepare(ICell arg0, IReportContext arg1) {}
public void onRender(ICellInstance arg0, IReportContext arg1) {}
}
Best regards
Dov
Jason Weathersby a écrit :
> You can set the background of a cell using the onCreate and
> this.getStyle().backgroundColor = "blue";
>
> I assume you want to do this based on a value in the control on the cell.
>
> If you have a value in a data element called samplevalue in the cell and
> you color the cell if this value is > 5,
> then in the onCreate of the row you could.
>
> if( this.getRowData().getExpressionValue( "row[SampleValue]" ) > 5 ){
> yellowme = true;
> }else{
> yellowme = false;
> }
>
> define yellowme in initialize
>
> yellowme = false;
>
> finally on the chosen cell
>
> if( yellowme ){
> this.getStyle().backgroundColor = "Yellow";
> }
>
> I dont think this will work if you try to to set it on the getValue() of the
> control, because by that time the onCreate has already been executed on the
> cell.
>
> Jason
>
>
> "Dov MORYUSF" <moryusef@hotmail.com> wrote in message
> news:dvc6nk$kh8$1@utils.eclipse.org...
>
>>Hi to all,
>>
>>Is it possible to change in a row the background of a unique cell ?
>>
>>I've found examples for changing the background of a whole row but not for
>>a cell:
>> http://www.eclipse.org/birt/phoenix/deploy/reportScripting.p hp
>>
>>Thanks a lot for your help
>>
>>DM
>
>
>
|
|
|
Powered by
FUDForum. Page generated in 0.03798 seconds