我的应用程序中有一个Kendo Grid,我在列中使用ClientTemplate作为复选框。页面加载时不显示该复选框,但属性(CheckName)值为true,因此它应该是。另一件事是,当我点击复选框,然后点击另一个,之前选中的复选框消失。我使用InCell编辑,也许它会导致问题?任何建议都会有所帮助。
@(Html.Kendo().Grid<myViewModel>()
.Name("mygrid")
.Filterable()
.Sortable()
.Editable(e => e.Mode(GridEditMode.InCell))
.Columns(columns =>
{
columns.Bound(c => c.Id).Visible(false);
columns.Bound(c => c.CheckName)
.ClientTemplate("<input type='checkbox' #= CheckName ? checked='checked' : '' # onclick='setCheckName()' id='CheckNameid' />")
columns.Bound(c => c.Name);
})
.DataSource(ds => ds
.Ajax()
.Read(r => r.Action("ReadData", "MyContr"))
.Update(u => u.Action("UpdateData", "MyContr"))
.AutoSync(true)
.Model(model =>
{
model.Id(m => m.Id);
model.Field(m => m.CheckName);
model.Field(m => m.Name);
})
)
)
function setCheckName() {
$.ajax({
type: "POST",
url: "@Url.Action("setCheckName")"
dataType: "json",
data: {
CheckName: $('#CheckNameId').is(':checked'),
}
});
}