I have 3 lists A, B and C in the same site and i have to make a View joining them and generate few dynamic columns:

Columns of A: Title (Indexed), Util(number)
Columns of B: Title, Title_A (Lookup), Date (Date), Used(number) - no. of util used
Columns of C: Title, Title_A (Lookup)

For a view i can easily join all the rows and see the entries, but the conditions are:

  1. A join B should bring only latest values in B for A
  2. If B has no values for A then it should bring join with "Used" value as 0 and "Date" value as "01/01/0001" (Default .NET Date value)

Dynamic Columns:
Blank columns per row with background color or image depending upon the following condition

  1. Util Status: If "Used"(List B) > "Util"(List A) --> "red" else "green"
  2. C_Entry: If List C has any entry for A --> "green" else "red"
  3. Last Date: If latest "Date" after Join > 7 days old --> "red" else "green"
  4. Link: Image Button with links to "Linked.aspx?Parameter=["ID"(List A)]" page

How can i achieve this with best performance?

Note: This view can contain thousands of elements.
Restrictions: I cannot use rest services or CSOM as the services are not accessible to users but can use server side scripting (if required).

1 Answer 1


Other option will be to use designer workflow.

Add the columns you require in List A and whenever any item get added/updated in List B or List C, use a workflow to update the values in List A as per your requirement. For dynamic columns use calculated columns.

  • Thank you. I was also thinking of the same thing but the only thing i was worried about was the massive amount of data i will have to store per list item and then the enormous amount of cases i will have to handle with the event receiver. But i guess this would work fine. Anyway is there any case in which i can save the space consumed by storage of redundant data in LIst A from B and C?
    – animat089
    Commented Apr 8, 2015 at 16:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.