Modify Row Data of the table in BIRT

I want to change the data present in the row of the table which I used for grouping purpose in the BIRT. I know how to retrieve the value but I want to change the rendering value, precisely I want to transform the string. I checked an example on official page here:

if (this.getRowData().getExpressionValue(3) > 100)

this.getStyle().backgroundColor="red";//This will only change the row instance

 

[color=rgb(0,0,0);font-family:Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;]This is helpful to change the style of the text but I want to change the text rather than the style[/color]

var t = this.getRowData().getExpressionValue("row[colname]");

t= t.toUpperCase(); //any string transformation

this.valueExpr = t; //this is not working

 

[color=rgb(0,0,0);font-family:Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;]So how to assign new string to the row. I write this script at onRender event of the row. But it is not working. Any Idea?[/color]

Comments

  • This question has two answers at http://stackoverflow.com/questions/22552512/

    Silence Bestows Consent
  • edited March 24, 2014

    or you can use the built in Map functionality. Once you select a data item there are 3 tabs in the property explorer. Properties, Binding, and Map. In the Map you can map the data to anything you want.

  • edited April 18, 2016

    To modify the row data, add the following script to the onRender event of the Data element (select the data element):



    if(this.getValue().toLowerCase()=="complete"){this.setDisplayValue("Task Complete")}
    if(this.getValue().toLowerCase()=="in_progress"){this.setDisplayValue("Work in Progress")}
    if(this.getValue().toLowerCase()=="not_started"){this.setDisplayValue("Not Started")}
Sign In or Register to comment.