2009-11-26 4 views
2

SharePoint의 BDC (비즈니스 데이터 카탈로그) 정의에서 1000 개의 구분 기호로 필드의 서식을 지정하려고합니다.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> 

건배

답변

4

XML이 아닌 포맷하거나 정보를 제시하기위한 메타 언어입니다, 그것은 설명하고 저장 다른 어휘를. 그 점을 염두에두면 대답은 다음과 같습니다. 아니요, XML을 사용하여 질문 한 내용 만 얻을 수는 없습니다.

사용중인 BDC 목록보기 또는 BDC 항목보기 웹 파트에 XSLT <xsl:decimal-format /> 요소를 사용하는 것이 좋습니다. 다른 방법으로 데이터를 소비하는 경우 렌더링하는 동안 출력을 쉽게 포맷 할 수 있습니다.

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

당신은 할 수 있습니다 : 당신은 (링크의 샘플에 따라) 같은 뭔가를 캡슐화 할 필요가

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

:

당신이 당신의 진수 유형을 표시하는 코드의이 부분을 말해봐 앞에서 설명한대로 공유 웹 파트 수정 메뉴에서 또는 SharePoint Designer를 사용하여 웹 파트에 대한 XSLT를 찾습니다.

2

Seems possibleComplex FormattingTypeDescriptor 개의 요소로 정의한다. 정의 다음은 유효한 것으로 보인다 특정 시나리오 주소를 내가 제대로이 솔루션을 테스트 할 수있는 환경을 가지고 있지 않기 때문에 : MSDN 문서, "ComplexFormatting is slow"에 경고로

<Parameter Direction="Return" Name="@ContactTotals"> 
     <TypeDescriptor TypeName="System.Data.IDataReader, ..." 
         IsCollection="true" Name="Reader"> 

     <!-- note this --> 
     <Properties> 
      <Property Name="ComplexFormatting" 
         Type="System.String" /> 
     </Properties> 

     <TypeDescriptors> 
      <TypeDescriptor TypeName="System.Data.IDataRecord, ..." 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)" /> 

        <!-- note this --> 
        <Properties> 
         <Property Name="FormatString" 
           Type="System.String">{0:#.###,00}</Property> 
        </Properties> 
       </TypeDescriptor> 
       ... 
      </TypeDescriptors> 
      </TypeDescriptor> 
     </TypeDescriptors> 
     </TypeDescriptor> 
    </Parameter> 
    </Parameters> 

참고. 붙어있는 편이 낫다. F.Aquino answer