Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 2010 SharePoint 2010中的DisplayPattern存在问题?_Sharepoint 2010_Spfield_Spfieldcollection - Fatal编程技术网

Sharepoint 2010 SharePoint 2010中的DisplayPattern存在问题?

Sharepoint 2010 SharePoint 2010中的DisplayPattern存在问题?,sharepoint-2010,spfield,spfieldcollection,Sharepoint 2010,Spfield,Spfieldcollection,我正在使用SPFieldCollection的AddFieldAsXML方法向列表中添加一个新字段。该方法执行得很好,没有问题。当我查看列表时,列标题会显示出来;但是,该值从不显示在列中。下面是字段添加到列表后的外观。此xml是从使用{1F87433F-50E1-46C5-A138-00E1CF7E5801}派生的列表模式中剪下的 此代码在2007年非常有效,但在2010年不起作用。任何帮助都将不胜感激 <Field ID="{e24ccb96-35fd-44e5-b7d1-4150dbb

我正在使用SPFieldCollection的AddFieldAsXML方法向列表中添加一个新字段。该方法执行得很好,没有问题。当我查看列表时,列标题会显示出来;但是,该值从不显示在列中。下面是字段添加到列表后的外观。此xml是从使用{1F87433F-50E1-46C5-A138-00E1CF7E5801}派生的列表模式中剪下的

此代码在2007年非常有效,但在2010年不起作用。任何帮助都将不胜感激

<Field ID="{e24ccb96-35fd-44e5-b7d1-4150dbbc9a64}" Type="Computed" ReadOnly="TRUE"
   Name="My_x0020_Status" DisplayName="MyStatus" ShowInEditForm="TRUE" ClassInfo="Icon"   
AuthoringInfo="(My status)" SourceID="http://schemas.microsoft.com/sharepoint/v3"       
StaticName="MyStatus" FromBaseType="TRUE">  
 <FieldRefs>
  <FieldRef Name="ID" /> 
  <FieldRef Name="Title" /> 
 </FieldRefs>
 <DisplayPattern>
 <HTML>
 <![CDATA[ <a href="form.htm?ID="
  ]]> 
  </HTML>
  <Column Name="ID" /> 
 <HTML>
 <![CDATA[ ">
  ]]> 
  </HTML>
  <Column Name="Title" /> 
 <HTML>
 <![CDATA[ </a>
  ]]> 
  </HTML>
  </DisplayPattern>
</Field>


此链接为解决此问题提供了很多帮助:

基本上,显示模式字段是在C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\XSL\fldtypes.XSL文件中定义的

有一个名为fldtypes_ratings.xsl的文件,可以用作定义自定义字段显示的示例

您可以创建自己的xsl文件(即fldtypes_myfile.xsl)来定义自己的自定义显示

以下是我的内容示例:

<xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema" 
xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-
prefixes="xsl msxsl ddwrt" ns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" 
xmlns:asp="http://schemas.microsoft.com/ASPNET/20" 
xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal">

<xsl:template match="FieldRef[@Name='MyCustomField']" mode="Computed_body">
    <xsl:param name="thisNode" select="."/>
      <SPAN class="mystuff-content-item" style="Width:100%;text-align:center">
          <SPAN class='mystuff-socialized-status mystuff-socialized-status-unknown'></SPAN>
          <SPAN class="mystuff-content-object-type" style="display:none">
               MyContent
          </SPAN>
          <SPAN class="mystuff-content-followed" style="display:none">0</SPAN>
          <SPAN class="mystuff-content-name" style="display:none"></SPAN>
          <SPAN class="mystuff-content-id" style="display:none">
            <xsl:value-of select="$List" />
            <xsl:text>|</xsl:text>
            <xsl:value-of select="$thisNode/@ID" />
          </SPAN>
      </SPAN>
    </xsl:template>

</xsl:stylesheet>

霉菌含量
0
|

希望有帮助

这种从2007年开始的定制方法由于2010年字段呈现的变化而变得不可用。有关更多详细信息,请阅读中的注释:

重要! 本主题描述了在列表视图、显示、编辑和新表单上呈现自定义字段类型的过时方法中使用的标记。它仅用于帮助调试最初针对SharePoint基金会的早期版本开发的自定义字段类型的人员。有关推荐方法的信息,请参见如何:创建字段渲染模板和如何:创建自定义字段类型。 使用RenderPattern标记定义其呈现的自定义字段仍在表单上正确呈现。然而,默认情况下,SharePoint基金会使用XSLT样式表来在列表视图上呈现字段,甚至是使用RelDead模式定义列表视图呈现的传统自定义字段。要启用此类字段的呈现,必须将TRUE元素添加到字段类型定义文件(fldtype*.xml)中包含的FieldTypes元素中


我混淆了引用这些文章的观点——它们都表示“与SharePoint基金会一起装运的两个遗留字段类型在FLDTYPES.XML中没有显示模式类型的渲染模式:(1)CordunType ID字段是不可见的。(2)计算字段在列表视图和显示模式下由每个列表的schema.xml中的字段元素中的DisplayPattern元素呈现。”

原始问题明确定义为“计算”字段,根据链接文章,该字段不使用fldttypes.xml作为其渲染模式,而是使用DisplayPattern元素,就像原始问题一样。发布2010年DisplayPattern工作原理的参考资料会有所帮助,因为文档中明确说明了它的工作原理,但从未说明如何工作。

请参见我的博客:。希望这能清楚地说明如何在SP2010中执行计算字段