我有一个Kendo UI网格,其中有一个带有下拉列表的列,用于更改某些状态。它将生成网格,为输入字段下的下拉列表和脚本生成输入,但它们将以某种方式不继续。
当我复制这些脚本并在控制台中运行它们时,下拉列表将开始工作。
这是一个带有该下拉列表的网格列:
columns.Bound(update => update.FlowStatus)
.Width(80)
.Title("Status")
.Encoded(true)
//.ClientTemplate("<input class='dropDownStatus' data-value='#= FlowStatus #' data-id='#= Id #' />");
.ClientTemplate(
Html.Partial("FlowStatusesEditor", "statusDropDown" + "#=Id#").ToHtmlString()
);
我使用的部分视图
@using Kendo.Mvc.UI;
@using Kendo.Mvc.Extensions;
@model String
@(Html.Kendo().DropDownList()
.Name(Model)
.DataSource(dataSource => dataSource
.Read(read => read.Action
("GetFlowStatuses", "Update")
)
)
.DataValueField("Value")
.DataTextField("Text")
.ToClientTemplate()
)
知道该怎么做吗?
答案 0 :(得分:0)
您需要为此调用kendo.template
函数。
像这样更改列客户端模板
.ClientTemplate("#= flowStatusTemplate(flowStatus) #");
<script>
var flowStatusTemplate = kendo.template('@Html.Partial("FlowStatusesEditor", "statusDropDown" + "#=Id#").ToHtmlString()');
</script>
或者您可以将部分页面移动到像这样的脚本模板
<script id="tmpFlowStatus" type="text/x-kendo-template">
@(Html.Kendo().DropDownList()
.Name("FlowStatus")
.DataSource(dataSource => dataSource
.Read(read => read.Action
("GetFlowStatuses", "Update")
)
)
.DataValueField("Value")
.DataTextField("Text")
.ToClientTemplate()
)
</script>
并像这样更改脚本
<script>
var flowStatusTemplate = kendo.template($("#tmpFlowStatus").html());
</script>