2016-08-03 23 views
1

Ich versuche, meine DateTime Objekt in meinem Kendo ListView Template zu formatieren, aber die vorgeschlagene Methode kendo.toString scheint nicht für mich zu arbeiten.Format Datum in Kendo Vorlage

Ich habe eine Menge Code ausgeschnitten, der sich nicht auf mein Problem bezieht, um es ein wenig einfacher zu verstehen.

Ich habe ein Kendo DataSource, der wie folgt aussieht:

contactDataSource: new kendo.data.DataSource({ 
    transport: { 
     read: { 
      url: "/baa/contact/getcontacts", 
      dataType: "json", 
      type: "GET" 
     } 
    }, 
    schema: { 
     model: { 
      id: "Id", 
      fields: { 
       Id: { type: "number", editable: false, nullable: true }, 
       CompanyName: { type: "string" }, 
       ContactName: { type: "string" }, 
       ContactPhone: { type: "string" }, 
       ContactEmail: { type: "string" }, 
       ImageUrl: { type: "string" }, 
       Website: { type: "string" }, 
       RecentBaas: [ 
        { 
         Name: { type: "string" }, 
         StatusDisplay: { type: "string" }, 
         Status: { type: "number" }, 
         LastModDate: { type: "date" } 
        } 
       ] 
      } 
     } 
    } 
}) 
Und ich habe dann eine Vorlage auf meiner Ansicht, die wie folgt aussieht:

<script type="text/x-kendo-templ" id="contactTemplate"> 
    <div class="row"> 
     <div class="col-md-12"> 
      # for (var i = 0; i < RecentBaas.length; i++) { # 
      # if (RecentBaas[i].Status == 1) { # 
       <div class="alert alert-success" role="alert"> 
        <p>#=kendo.toString(RecentBaas[i].LastModDate, "F")#</p> 
       </div> 
      # } # 
      # } # 
     </div> 
    </div> 
</script> 

Ich erhalte keine Fehler in meiner Konsole, wenn ich diese Seite lade, aber das Datum ist überhaupt nicht formatiert. Es zeigt immer noch nur als /Date(1461203814927)/ zum Beispiel.

Ich habe die Kendo-Dokumentation zur Verwendung der toString-Funktion zum Formatieren von DateTime-Objekten gelesen und soweit ich weiß, mache ich alles richtig. Aber vielleicht fehlt mir noch etwas?

Antwort

2

Bitte versuchen Sie es mit dem folgenden Codeausschnitt.

<script type="text/x-kendo-templ" id="contactTemplate"> 
    <div class="row"> 
     <div class="col-md-12"> 
      # for (var i = 0; i < RecentBaas.length; i++) { # 
      # if (RecentBaas[i].Status == 1) { # 
       <div class="alert alert-success" role="alert"> <p>#=kendo.toString(kendo.parseDate(RecentBaas[i].LastModDate), 'yyyy-MM-dd')#</p> 
       </div> 
      # } # 
      # } # 
     </div> 
    </div> 
</script> 

Lassen Sie mich wissen, wenn ihr nicht

+0

Yep arbeiten, die funktioniert! Ich dachte nicht, dass ich es zuerst analysieren müsste, da ich hätte schwören können, dass ich es vorher ohne Parsing getan habe. Trotzdem danke! – Quiver