2016-07-12 19 views
0

Ich habe Spalte im Kendo Grid, die den Datentyp TimeSpan (ASP.NET) hat. Ich habe zwei Probleme:kendo UI Rasterspalte Filter

  1. Erstens ist es nicht formatiert die Zeit im Format HH: mm
  2. Zweitens, wenn ich filtere ich den Fehler - Konvertierung von String Zeitspanne fehlgeschlagen.

Der Streifen abgespeckte Version von Code wie folgt aussieht

@(Html.Kendo().Grid<SomeModel>() 
.Name("Grid") 
.Columns(colums => 
{ 
    columns.Bound(c => c.StartTime).Title("Start Time"); // TimeSpan data type 
}) 

Antwort

0

1 Sie eine Client-Vorlage verwenden, sollte die Zeitspanne Spalte angezeigt werden:

columns.Bound(p => p.StartTime).ClientTemplate("#= StartTime.Minutes #:#= StartTime.Seconds #:#= StartTime.Milliseconds #"); 

, um weitere Informationen finden Sie unter: http://www.telerik.com/forums/working-with-timespans

2 Sie sollten eine benutzerdefinierte Funktion erstellen, die als Filter für die Datenquelle übergeben wird, wenn das clientseitige Filtern erfolgt benötigt http://www.telerik.com/forums/how-to-define-a-custom-filter-operator und hier müssen Sie auch eine Timepicker oder einen benutzerdefinierten Editor, das zu ermöglichen, wird angezeigt, wenn der Benutzer die Schaltfläche Filter http://demos.telerik.com/kendo-ui/grid/filter-menu-customization

0

eine berechnete Eigenschaft Erstellen auf dem Server wie so drücken wird ...

public string ComputedTime { 
set{ 
var time = StartTime.ToShortDateString(); 

// extra work here 
return time; 
} 
} 

Dann in Rasierer

@(Html.Kendo().Grid<SomeModel>() 
.Name("Grid") 
.Columns(colums => 
{ 
    columns.Bound(c => c.ComputedTime).Title("Start Time"); // TimeSpan data type 
})