You are currently offline, waiting for your internet to reconnect

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

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."
Cause
The time allowed for doing the XSL transformation was exceeded.
In SharePoint 2010 the XSL transform cannot take longer than 1 second.
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>
More information
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.
Properties

Article ID: 2639184 - Last Review: 01/07/2014 07:02:00 - Revision: 4.0

Microsoft SharePoint Server 2010, Microsoft SharePoint Foundation 2010

  • KB2639184
Feedback
s.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">