如何将数据绑定到Kendo网格客户端模板中的Kendo DropDown List?

时间:2018-01-16 07:56:09

标签: javascript c# jquery asp.net-mvc kendo-ui

我在带有客户端模板列的kendo网格中有一个下拉列表。我想绑定我传递给视图的模型中的数据,但是每个kendo网格行的数据都不同。我不知道这样做的正确语法。 AvailableValues是具有value属性的对象列表。该值是我想用来填充我的下拉列表。

columns.Bound(c => c.Value).ClientTemplate(
                    Html.Kendo().DropDownList()
                        .Name("valueDrop_#=Name")
                        .DataTextField("Value")
                        .DataValueField("Value")
                        .OptionLabel("PleaseChoose")
                        .HtmlAttributes(new { @class = "wide-full bodyTypeDrop" })
                        .BindTo(AvailableValues)//syntax???
                        .ToClientTemplate().ToHtmlString()
                    );

对于每个下拉列表都没有定义ajax读取函数的解决方案吗?

1 个答案:

答案 0 :(得分:0)

在我的一个项目中,我确实不得不这样做。

在页面顶部:

List<YourModel> AvailableValues = YourModel.Read();

然后在网格中:

columns.Bound(c => c.Value).ClientTemplate(
                                Html.Kendo().DropDownList()
                                    .Name("valueDrop_#=Name#")
                                    .DataTextField("Value")
                                    .DataValueField("Value")
                                    .OptionLabel("PleaseChoose")
                                    .Value("#= LocalModelValue #")
                                    .BindTo(AvailableValues)
                                    .HtmlAttributes(new { @class = "wide-full bodyTypeDrop" }).ToClientTemplate().ToHtmlString()
                                );

.Value("#= LocalModelValue #")用于对象的本地值。例如。如果当前行的LocalModelValue为5,则下拉列表将选择第5个值。

希望这有帮助!