Removing child views from the View

February 24, 2009 Digital Experience

[This post is part of the developer's manual preview published on this blog. You can find temporary TOC here.]

 
[This article requires Sitefinity 3.6 hotfix to be installed

 

In the article preceding this one, we have seen how one can add a brand new child view to a View. In this article we will do exactly the opposite. We are going to remove an existing child view from a View.
The principle for removing the child view is basically the same as for adding it, though instead of the add method, this time we will use remove method.

 

Scenario: cripple the Events module

 

Our ever demanding boss has decided that “Geomapping settings” has no business in the Events module and she wants it gone. Once we are done there should be no user interface command for accessing Geomapping settings, nor should there be any other way to access it. To refresh your memory and get a clearer picture of what are we about to do, take a look at the following image.

 


 

Implementation


As it was the case with adding a new child view, yet again we need an ability to access the child views collection of a host view in order to remove the view. Since we are working with the Events module this time, the root view which is the host to GeomappingSettingsView is EventsControlPanel.

 

To remove the GeomappingSettingsView, all we need to do is set the following declaration in our Controls Config file.

<?xml version="1.0" encoding="utf-8"?> 
<controlsConfig> 
  <viewMap> 
    <!--Root view of the Events module.--> 
    <viewSettings hostType="Telerik.Events.WebControls.Admin.EventsControlPanel"
      <views> 
        <remove name="GeomappingSettingsView`1" /> 
      </views> 
    </viewSettings> 
  </viewMap> 
</controlsConfig> 
 

As you can see, our logic is exactly the same as it was when we were adding a new view, but this time we are removing the View. 

 

The Progress Team