我在我的应用程序中使用了一个kendo网格。 在网格中,一行包含下拉列表。当我在下拉列表中选择值时,行中的其他单元格会更新。 但我正在尝试使用javascript更新其他单元格。我无法为此获得解决方案。
有人可以帮助我吗?
剃刀中的剑道网格:
@(Html.Kendo().Grid<models.employee>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.name).ClientTemplate(
"<input type='hidden' name='items[#= index(data)#].name' value='#= getLine(data)#' /> <p>#= getLine(data)#</p>"
);
columns.Bound(c => c.Emp_num).EditorTemplateName("EmpEditor").ClientTemplate(
"#= Emp_num #" +
"<input type='hidden' class='Emp-select' name='items[#= index(data)#].Emp_num' id='items[#= index(data)#].Emp_num' value='#= Emp_num #' />"
);
columns.Bound(c => c.description).EditorTemplateName("DescripEditor").ClientTemplate(
"#= description #" +
"<input type='hidden' name='items[#= index(data)#].description' data-fill='items[#= index(data)#].description' value='#= description #' />"
);
columns.Bound(c => c.address).EditorTemplateName("addressEditor").ClientTemplate(
"#= address #" +
"<input type='hidden' name='items[#= index(data)#].address' value='#= address #' data-fill='items[#= index(data)#].address' value='' />"
);
})
在EmpEditor.cshtml中:
@(Html.Kendo().DropDownList()
.Name("Emp_num")
.OptionLabel("Select Employee Number...")
.DataValueField("Emp_num")
.DataTextField("Emp_num")
.BindTo((System.Collections.IEnumerable)ViewData["Employee"])
.Events(e => e.Select("changes"))
)
javascript:
function changes(e)
{
var Emp_num = this.dataItem(e.item).Emp_num; // which gives the employee num
getEmp(Emp_num, function (emp) { //this function retrieve the details of employee for the particular employee number
var Employee = emp;
//here I need the code for update the values of Employee.description to description cell and Employee.address to address cell
});
}
答案 0 :(得分:0)
在没有看到你的代码的情况下,我想你有一些模板可以将你的下拉列表定义为你的kendo-grid列定义的一部分,对吧?您需要编写一个更新单元格的JavaScript函数,并将其添加到此下拉列表的onChange中。剑道文档可能涵盖了这一点。