protected void fieldEditor_AfterItemDeleted(object sender, FieldEditorEventArgs e)
    {
        // Update parameters of inherited form user controls if a field or a category was deleted
        if ((e != null))
        {
            // Details of item which was deleted
            string itemName = e.ItemName;
            FieldEditorSelectedItemEnum itemType = e.ItemType;
            int itemOrder = e.ItemOrder;

            // Get form controls inherited from edited one
            var inheritedControls = FormUserControlInfoProvider.GetFormUserControls().WhereEquals("UserControlParentID", FormControlID);
            foreach (FormUserControlInfo control in inheritedControls)
            {
                // Remove deleted item (field/category) from inherited form control parameters
                switch (itemType)
                {
                case FieldEditorSelectedItemEnum.Field:
                    control.UserControlParameters = FormHelper.RemoveFieldFromAlternativeDefinition(control.UserControlParameters, itemName, itemOrder);
                    break;

                case FieldEditorSelectedItemEnum.Category:
                    control.UserControlParameters = FormHelper.RemoveCategoryFromAlternativeDefinition(control.UserControlParameters, itemName, itemOrder);
                    break;
                }

                // Update inherited form control
                FormUserControlInfoProvider.SetFormUserControlInfo(control);
            }
        }
    }
    protected void fieldEditor_AfterItemDeleted(object sender, FieldEditorEventArgs e)
    {
        // Update parameters of inherited form user controls if a field or a category was deleted
        if ((e != null))
        {
            // Details of item which was deleted
            string itemName = e.ItemName;
            FieldEditorSelectedItemEnum itemType = e.ItemType;
            int itemOrder = e.ItemOrder;

            // Get form controls inherited from edited one
            var inheritedControls = FormUserControlInfoProvider.GetFormUserControls("UserControlParentID=" + FormControlID, null);
            foreach (FormUserControlInfo control in inheritedControls)
            {
                // Remove deleted item (field/category) from inherited form control parameters
                switch (itemType)
                {
                    case FieldEditorSelectedItemEnum.Field:
                        control.UserControlParameters = FormHelper.RemoveFieldFromAlternativeDefinition(control.UserControlParameters, itemName, itemOrder);
                        break;

                    case FieldEditorSelectedItemEnum.Category:
                        control.UserControlParameters = FormHelper.RemoveCategoryFromAlternativeDefinition(control.UserControlParameters, itemName, itemOrder);
                        break;
                }

                // Update inherited form control
                FormUserControlInfoProvider.SetFormUserControlInfo(control);
            }
        }
    }
    void fieldEditor_AfterItemDeleted(object sender, FieldEditorEventArgs e)
    {
        if (e == null)
        {
            return;
        }

        // Remove deleted field or category from inherited web parts
        InfoDataSet <WebPartInfo> webParts = WebPartInfoProvider.GetWebParts()
                                             .WhereEquals("WebPartParentID", WebPartID).TypedResult;

        if (!DataHelper.DataSourceIsEmpty(webParts))
        {
            foreach (WebPartInfo info in webParts)
            {
                switch (e.ItemType)
                {
                case FieldEditorSelectedItemEnum.Field:
                    info.WebPartProperties = FormHelper.RemoveFieldFromAlternativeDefinition(info.WebPartProperties, e.ItemName, e.ItemOrder);
                    break;

                case FieldEditorSelectedItemEnum.Category:
                    info.WebPartProperties = FormHelper.RemoveCategoryFromAlternativeDefinition(info.WebPartProperties, e.ItemName, e.ItemOrder);
                    break;
                }

                // Update web part
                info.Update();
            }
        }

        // Remove deleted field or category from widgets based on this web part
        InfoDataSet <WidgetInfo> widgets = WidgetInfoProvider.GetWidgets()
                                           .WhereEquals("WidgetWebPartID", WebPartID).TypedResult;

        if (!DataHelper.DataSourceIsEmpty(widgets))
        {
            foreach (WidgetInfo info in widgets)
            {
                switch (e.ItemType)
                {
                case FieldEditorSelectedItemEnum.Field:
                    info.WidgetProperties = FormHelper.RemoveFieldFromAlternativeDefinition(info.WidgetProperties, e.ItemName, e.ItemOrder);
                    break;

                case FieldEditorSelectedItemEnum.Category:
                    info.WidgetProperties = FormHelper.RemoveCategoryFromAlternativeDefinition(info.WidgetProperties, e.ItemName, e.ItemOrder);
                    break;
                }

                // Update widget
                info.Update();
            }
        }
    }
    void fieldEditor_AfterItemDeleted(object sender, FieldEditorEventArgs e)
    {
        if (e == null)
        {
            return;
        }

        // Remove deleted field or category from inherited web parts
        InfoDataSet<WebPartInfo> webParts = WebPartInfoProvider.GetWebParts()
                .WhereEquals("WebPartParentID", WebPartID).TypedResult;

        if (!DataHelper.DataSourceIsEmpty(webParts))
        {
            foreach (WebPartInfo info in webParts)
            {
                switch (e.ItemType)
                {
                    case FieldEditorSelectedItemEnum.Field:
                        info.WebPartProperties = FormHelper.RemoveFieldFromAlternativeDefinition(info.WebPartProperties, e.ItemName, e.ItemOrder);
                        break;

                    case FieldEditorSelectedItemEnum.Category:
                        info.WebPartProperties = FormHelper.RemoveCategoryFromAlternativeDefinition(info.WebPartProperties, e.ItemName, e.ItemOrder);
                        break;
                }

                // Update web part
                info.Update();
            }
        }

        // Remove deleted field or category from widgets based on this web part
        InfoDataSet<WidgetInfo> widgets = WidgetInfoProvider.GetWidgets()
                .WhereEquals("WidgetWebPartID", WebPartID).TypedResult;

        if (!DataHelper.DataSourceIsEmpty(widgets))
        {
            foreach (WidgetInfo info in widgets)
            {
                switch (e.ItemType)
                {
                    case FieldEditorSelectedItemEnum.Field:
                        info.WidgetProperties = FormHelper.RemoveFieldFromAlternativeDefinition(info.WidgetProperties, e.ItemName, e.ItemOrder);
                        break;

                    case FieldEditorSelectedItemEnum.Category:
                        info.WidgetProperties = FormHelper.RemoveCategoryFromAlternativeDefinition(info.WidgetProperties, e.ItemName, e.ItemOrder);
                        break;
                }

                // Update widget
                info.Update();
            }
        }
    }