2013-01-16 56 views
2

我有一個帶有asp.net mvc語法的Kendo UI Grid。我有一個日期時間列和編輯器模板。當我點擊編輯它顯示datetimepicker,但我不確定如何保持當前值(InvoicedDate),如果已經存在。有任何想法嗎?Kendo UI Grid DateTimePicker編輯器模板 - 保留值

編輯:當我選擇日期時,它不會將該值拉回到更新操作中。我認爲這些問題是相關的。

發票電網:

@(Html.Kendo().Grid<TMS.MVC.TIMS.Models.Invoice.InvoiceGridModel>() 
<snip> 
columns.Bound(o => o.InvoicedDate).Width(100).Title("Invoice Date").Format("{0:M/d/yyyy}").EditorTemplateName("Invoice_InvoiceDate"); 
<snip> 

編輯模板(Invoice_InvoiceDate.cshtml):

@model TMS.MVC.TIMS.Models.Invoice.InvoiceGridModel 

    @(Html.Kendo().DateTimePicker() 
        .Name("InvoiceDate") 
        .Value(Model == null ? DateTime.Now : Model.InvoicedDate) 
        .Format("M/d/yyyy h:mm tt") 
    ) 
+0

https://kendoeditortemplate.codeplex.com/ –

回答

4

我相信你的問題是,你的editorTemplate試圖採取

@model TMS.MVC.TIMS.Models.Invoice.InvoiceGridModel 

這不起作用,因爲您調用editorTemplate的網格列可能類型爲DateTime。由於類型不匹配,因此您始終會在編輯器模板中將空值顯示爲模型的值。試試這個。

@model DateTime? 
@(Html.Kendo().DateTimePicker() 
       .Name("InvoiceDate") 
       .Value(Model == null ? DateTime.Now : @Model) 
       .Format("M/d/yyyy h:mm tt") 
)