Skip to main content

Notifications

Customer experience | Sales, Customer Insights,...
Answered

Trying to conditionally set view of a subgrid based on Option set on form

(0) ShareShare
ReportReport
Posted on by 385

Hi I'm trying to get a subgrid on my form to change views depending on a option set selection.

I am using

function fnChangeViewOfSubgrid(ExecutionContext) {
	"use strict";
	var oFormContext = executionContext.getFormContext();
	var Practice = oFormContext.getAttribute("new_practices").getValue();
	var viewSelector = oFormContext.getControl("Opportunities").getViewSelector();
	if(Practice != null) {
		Switch(Practice) {
			Case 100000005: var PracticeView = {
				entityType: 1039,
				id: "4F671F67-9D35-EB11-A813-000D3A347311",
				name: "Engineering Practice - Active Opportunities"
			};
			viewSelector.setCurrentView(PracticeView);
			default: var PracticeView = {
				entityType: 1039,
				id: "00000000-0000-0000-00AA-000010003006",
				name: "Closed Opportunities"
			};
			viewSelector.setCurrentView(PracticeView);
		}
	}
}

But it isn't working.

I've tried various online javascript validators but they are saying I'm missing semicolons? But I don't see it?

Does anyone else see what I'm doing wrong or have a better way?

Thanks,

Terry

  • Mattw112b Profile Picture
    Mattw112b 385 on at
    RE: Trying to conditionally set view of a subgrid based on Option set on form

    Thanks,

    Turns out I had other capitalization issues too...

    Working now

    function fnChangeViewOfSubgrid(executionContext) {

    var oFormContext = executionContext.getFormContext();

    var SelectedPractice = oFormContext.getAttribute("new_practices").getValue();

    var viewSelector = oFormContext.getControl("Opportunities").getViewSelector();

    if (SelectedPractice !== null) {

    switch (SelectedPractice) {

    case 100000005:

    var PracticeView = {

    entityType: 1039,

    id: "4F671F67-9D35-EB11-A813-000D3A347311",

    name: "Engineering Practice - Active Opportunities"

    };

    viewSelector.setCurrentView(PracticeView);

    break;

    default:

    var PracticeView = {

    entityType: 1039,

    id: "00000000-0000-0000-00AA-000010003006",

    name: "Closed Opportunities"

    };

    viewSelector.setCurrentView(PracticeView);

    break;

    }

    }

    }

  • Verified answer
    Fubar Profile Picture
    Fubar 2,752 on at
    RE: Trying to conditionally set view of a subgrid based on Option set on form

    Switch and Case should be all lower switch and case

    and you should break; at the end of each case block (unless you want both case and default code blocks to run)

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

News and Announcements

Announcing Category Subscriptions!

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Verified Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,359 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,370 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans