سؤال

وأنا أحاول أن تنسيق حقل في (كتالوج بيانات العمل) BDC تعريف، في SharePoint، مع ألف الفاصل.

ولا يبدو ليكون من الممكن في تعريف XML BDC، وممكن إلا من خلال مصمم شير (!). الحقول أنا عندي في الوقت الحاضر هي System.Decimal، لذلك فإنه يعرض كما 12345.98، ولكن أنا يريد أن يعرض كما 12،345.98.

هل تعرف إذا كان يمكن أن يتحقق من خلال XML تعريف BDC؟

    <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 فقط

وهناك طريقة الموصى بها سيكون لاستخدام XSLT عنصر في BDC قائمة عرض أو BDC مشاهدة السلعة جزء الويب الذي تستخدمه. إذا كنت تستهلك الطرق حوض غيرها من البيانات يمكنك تنسيق بسهولة إخراج أثناء التقديم.

ويقول لديك هذا الجزء من التعليمات البرمجية عرض نوع العشري الخاص بك:

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

وتحتاج لتغليف بشيء مثل (على أساس العينة في الوصلة):

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

ويمكنك العثور على XSLT لجزء الويب في القائمة تعديل جزء ويب المشتركة، أو كما قال لك، باستخدام SharePoint Designer.

نصائح أخرى

يبدو ممكن لتحديد Complex Formatting على الموقع TypeDescriptor العناصر. وأنا لم يكن لديك بيئة لاختبار هذا الحل بشكل صحيح، بعد التعاريف ويبدو أن صالح ويتناول السيناريو معينة:

    <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>

ملحوظة كما حذر في وثائق MSDN، "ComplexFormatting is slow". ربما من الأفضل أن العصا مع F.Aquino الإجابة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top