我懷疑你想要網格作爲窗體的一部分。通常情況下,網格通過ajax進行交互,而不是通過批量表單提交與其他控件 - 從表單中解包。僅這一點可能會讓你頭痛。
上半場:。
嘗試使用劍道()DatePickerFor(),劍道()DropDownListFor(),等你並不需要通過請將.Name明確地命名這些劍道控件()。這可以幫助您進行模型綁定。
下半場:
使用非十進制另一種數據類型。你認爲這很難?嘗試使用TimeSpan類型進行時間分析,不需要附加日期(成年男性在哭泣)。
您通常不需要布爾型/複選框的EditorTemplate。只需使用這個技巧(假設你使用Razor,因爲你沒有留下任何代碼)。
columns.Bound(b => b.IsActive).ClientTemplate("<input type='checkbox' ${ IsActive == true ? checked='checked' : ''} disabled />");
你對於自己的DDL網最好的選擇是
columns.ForeignKey(b => b.CustodianIdPrimary, Model.Custodians, "Id", "FullName").EditorViewData(new {ProjectId = Model.ProjectId}).EditorTemplateName("CustodianDropDownList");
凡Model.Custodians是所有可能的項目的列表。然後,您可以將您的EditorTemplate綁定到這個列表,或使Ajax調用,如果你需要在這個特定的DDL的一個子集,這樣
@model int
@(Html.Kendo().DropDownList()
.Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
.DataValueField("Id")
.DataTextField("FullName")
.OptionLabel("Unassigned")
.DataSource(dataSource => dataSource
.Read(read => read.Action("ReadProjectCustodiansDdl", "SysMaint", new {projectId = ViewData["ProjectId"]}))
)
)
來填充,但這裏是劍道提供的示例
@model object
@(
Html.Kendo().DropDownListFor(m => m)
.BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
)
請注意,在我的初始列中使用EditorViewData參數.ForeignKey在此示例中用於傳遞整個列表。
祝你好運!
沒有代碼意味着幾乎沒有機會尋求幫助。 – 2013-02-19 19:51:00
你可以添加一些代碼嗎? – NunoCarmo 2013-02-19 23:06:45
請參閱我的代碼: – Shamanth 2013-02-21 05:12:12