Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

SharePoint 2010: DataForm Web Part displays "Unable to display this Web Part"


View products that this article applies to.

Symptoms

Consider the following scenario:
  • Create a list or library in SharePoint 2010.
  • Open the list / library in SharePoint Designer.
  • Close and hide the XSLTListView Web part on the page.
  • Insert a DataForm web part on the page.

If the list contains a large number of columns or custom XSL has been applied to the DataForm web part the following error message may be displayed:

"Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Microsoft SharePoint Foundation-compatible HTML editor such as Microsoft SharePoint Designer. If the problem persists, contact your Web server administrator."

↑ Back to the top


Cause

The time allowed for doing the XSL transformation was exceeded.
In SharePoint 2010 the XSL transform cannot take longer than 1 second.

↑ Back to the top


Resolution


Solution 1
  1. Simplify the custom XSL that was added to the DataForm web part.

Solution 2
  1. Browse to the list or library.
  2. In the ribbon select List, Customize Form
Instead of using DataForm web parts to customize the list forms, use the BrowserFormWebPart that displays a custom InfoPath form.

Solution 3

  1. Sub class the DataForm Web Part. Override the following methods. Then Deploy the assembly.

    Example:

    public class customDFWP : DataFormWebPart
        {
            public override bool IsGhosted
            {
                get
                {
                    return true;
                }
            }
            public override bool CanHaveServerControls
            {
                get
                {
                    return true;
                }
            }
        }
     
  2. Add a safe control entry to the web.config

    Example:
    <SafeControl Assembly="customDFWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=963f869a440db619" Namespace="customDFWP" TypeName="*" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="False"/>
  3. Add the following to the <tagMapping> element of the web.config

    Example: <add tagType="Microsoft.SharePoint.WebPartPages.DataFormWebPart, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" mappedTagType="customDFWP.customDFWP, customDFWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=963f869a440db619" />
  4. Register the assembly on the form page.

    Example: <%@ Register tagprefix="customDFWP" namespace="customDFWP" assembly="customDFWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=963f869a440db619" %>
  5. On the form page find <WebPartPages:DataFormWebPart > and replace it with the new custom tag.

    Example:<customDFWP:customDFWP>

↑ Back to the top


Keywords: kb

↑ Back to the top

Article Info
Article ID : 2639184
Revision : 1
Created on : 1/7/2017
Published on : 1/7/2014
Exists online : False
Views : 445