我正在尝试在SharePoint中使用千位分隔符格式化BDC(业务数据目录)定义中的字段。

在BDC XML定义中似乎无法实现,而只能通过SharePoint Designer(!)实现。我目前拥有的字段是System.Decimal,因此它显示为12345.98,但是我希望它显示为12,345.98。

您是否知道可以通过BDC XML定义来实现?

    <Parameter Direction="Return" Name="@ContactTotals">
      <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader">
        <TypeDescriptors>
          <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record">
            <TypeDescriptors>
              <TypeDescriptor TypeName="System.Int32" IdentifierName="dim_claims_key" Name="dim_claims_key" />
              <TypeDescriptor TypeName="System.Decimal" Name="total_outstanding" DefaultDisplayName="Total Outstanding (USD)" />
              <TypeDescriptor TypeName="System.Decimal" Name="total_paid" DefaultDisplayName="Total Paid (USD)" />
              <TypeDescriptor TypeName="System.Decimal" Name="total_incurred" DefaultDisplayName="Total Incurred (USD)" />
            </TypeDescriptors>
          </TypeDescriptor>
        </TypeDescriptors>
      </TypeDescriptor>
    </Parameter>
  </Parameters>


干杯

缺口

最佳答案

XML是一种不用于格式化或呈现信息的元语言,它描述和存储其他词汇。请记住,答案是:不,您不能仅使用XML来实现您所要求的。

建议的方法是在使用的BDC列表视图或BDC项视图Webpart中使用XSLT <xsl:decimal-format />元素。如果您通过其他方式使用数据,则可以在渲染过程中轻松格式化输出。

假设您有这部分代码显示十进制类型:

<xsl:value-of select="$ColName_0" />


您需要将其封装为类似(基于链接中的示例):

<xsl:value-of select="format-number($ColName_0, '#.###,00', 'euro')"/>


您可以在“修改共享的WebPart”菜单中找到该Webpart的XSLT,或者如您所说,使用SharePoint Designer。

10-08 16:41