使用带有kendo组合框的网格模板:
<script id="templateSample" type="text/kendo-tmpl">
@*Active holds the selected value*@
# alert(Active) # //
@(Html.Kendo().ComboBox()
.Name("ComboBoxSample")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Value = "true",
Text = "Yes",
Selected = false,
},
new SelectListItem()
{
Value = "false",
Text = "No",
Selected = false,
}
})
.DataTextField("Text")
.DataValueField("Value")
.SelectedIndex(1)
.ToClientTemplate()
)
</script>
每当展开一行时都会显示模板(请参阅http://demos.telerik.com/aspnet-mvc/grid/hierarchy)。
我无法弄清楚如何使用当前选中的项目设置所选索引。
要设置所选项目,我可以选择使用SelectListItem.Selected或Combobox.SelectedItem,但如何设置模板中当前显示的项目的值?
感谢。
答案 0 :(得分:0)
我找到了一种使用javascript解决此问题的方法。
向网格添加事件:
.Events(e=>e.DetailInit("aftertemplateload"))
脚本:
function aftertemplateload(e) {
$("#ComboBoxSample" + e.data.Id).data("kendoComboBox").value(e.data.Active);
}
并记得将新ID添加到组合框:
@(Html.Kendo().ComboBox()
.Name("ComboBoxSample#=Id#")
.BindTo(new List<SelectListItem>()
{ etc...