我很感激任何帮助。
我有一个带有incell编辑模式的Kendo网格:
@(Html.Kendo().Grid(Model.ContractCurrencyClauses)
.Name("ContractCurrencyClauses")
.ToolBar(toolbar => { toolbar.Create(); })
.Columns(columns =>
{
columns.Bound(p => p.CLAUSE).ClientTemplate("#= CLAUSE #" +
"<input type='hidden' name='ContractCurrencyClauses[#= index(data)#].CLAUSE' value='#= CLAUSE #' />"
).EditorTemplateName("CurrencyClause");
columns.Command(command => { command.Destroy(); });
})
.Editable(editable => editable.Mode(GridEditMode.InCell))
.DataSource(dataSource =>
dataSource.Ajax()
.Model(model =>
{
...
})
.ServerOperation(false)
)
)
索引功能:
function index(dataItem) {
var data = $("#ContractCurrencyClauses").data("kendoGrid").dataSource.data();
return data.indexOf(dataItem);
}
专栏CLAUSE
有EditorTemplate
:
@model int?
@(Html.Kendo().ComboBoxFor(model=>model).BindTo((SelectList)(new SelectList(context.CurrencyClauses, "CODE", "TITLE", Model))))
问题是当我从下拉列表中选择某个项目index()
函数接收null
时,我该如何绑定所选索引?
答案 0 :(得分:3)
Hey Gvuzal Rakhmaveva,
我想与您分享一个解决方案..
您必须为组合框名称属性指定与您需要绑定的属性相同的名称。您在视图模型中的字段上设置属性[UIHint(&#34; TemplateName&#34;)]。在shared / EditorTemplates文件夹中添加了模板。现在它与刷新绑定并正常工作。
-------------------网格--------------------------- ----
@(Html.Kendo().Grid<MVC.ViewModels.ResultsViewModel>(Model)
.Name("Grid")
.Columns(columns => {
columns.Bound(o => o.Waarneming).Width(550).Title("Waarneming"); columns.Bound(p => p.Result).Width(110).Title("Resultaat");
})
-------------------组合框----------------------
@(Html.Kendo().ComboBox()
.Name("Result")
.DataValueField("Text")
.DataTextField("Text")
.HighlightFirst(true)
.BindTo((IEnumerable<SelectListItem>) ViewBag.NormeringList)
)
我希望这对你有所帮助。
如果工作那么就不要忘记投票。