Evaluate Consulting Services

Display User Rating Icons Dynamically in Oracle APEX Report


Here I am giving an example to display user rating icons dynamically in oracle apex report.

Step 1: Create a new blank page.

Step 2: Function Call: Create a function get_user_ratings. If you want to render it in multiple places, it would be good practice to put this code in a package and call it in your query.

Sample function in a package called FXGN_GENERAL

create or replace FUNCTION get_user_ratings(p_value IN NUMBER)

    RETURN VARCHAR2

  IS

    l_return     VARCHAR2 (4000);

    l_checked    VARCHAR2(240) := ‘<span class=”fa fa-star” style=”color:orange;”></span>’;

    l_un_checked VARCHAR2(240) := ‘<span class=”fa fa-star” style=”color:grey;”></span>’;

    l_max_value  NUMBER        := 5;

    l_remaining  NUMBER;

  BEGIN

    IF p_value BETWEEN 1 AND 5 THEN — Check given values are in the range

      l_remaining := l_max_value – p_value;

      /* Add checked user ratings */

      FOR i IN 1..p_value

      loop

        l_return := l_return||‘ ‘||l_checked;

      END loop;

      /* Add unchecked user rating if remaining is greater than Zero */

      IF l_remaining > 0 THEN

        FOR j IN 1..l_remaining

        loop

          l_return := l_return||‘ ‘||l_un_checked;

        END loop;

      END IF;

    ELSE

      l_return := NULL;

    END IF;

    RETURN l_return;

  END get_user_ratings;

     

Step 3: Create a new classical report or interactive report (whichever you want), then your query would then look something like this,

SELECT fund_id, 

       fund_name, 

       to_char(start_date, ‘DD-Mon-RRRR’) start_date, 

       get_user_ratings(user_rating) user_rating

FROM fxgn_fund_progress 

ORDER BY fund_id ASC;

Step 4: Go to report attribute user_rating and set Escape special characters = Yes

Output: Then your output would then look like this,

Happy APEXing!!!…

Leave a Comment

Your email address will not be published. Required fields are marked *