我使用telerik mvc grid中的复选框。我遇到一个问题,我的复选框没有在第一次点击时检查。在第二次单击时,它会被检查,但在单击另一个复选框时,前一个复选框将被取消选中。我该如何解决这个问题。这是我使用的代码:
@(Html.Telerik().Grid<PermissionMappingModel>()
.Name("mAdministratorpermission-grid")
.DataKeys(keys => keys.Add(m => m.Id))
.Editable(editing => editing.Mode(GridEditMode.InCell))
.ToolBar(commands =>
{
commands.SubmitChanges().ButtonType(GridButtonType.Image).ImageHtmlAttributes(new { style = "margin-left:0" });
})
.Columns(columns =>
{
columns.Bound(x => x.Id).Hidden(true);
columns.Bound(x => x.CategoryName).ReadOnly(true).Width(125);
columns.Bound(x => x.Name).ReadOnly(true).Width(200);
columns.Bound(x => x.IsAllowed)
.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= IsAllowed #>' />").Width(15).Centered();
})
.DataBinding(
dataBinding => dataBinding.Ajax()
.Select("MAdminCustomerPermissionLoad", "Security")
.Update("MAdminSavePermission", "Security")
)
.Groupable(grouping => grouping.Groups(groups => { groups.Add(c => c.CategoryName); }).Visible(false))
.ClientEvents(events =>
{
events.OnDataBinding("OnMAdminPermissionViewDataBinding");
events.OnSubmitChanges("OnMAdminPermissionSubmit");
events.OnEdit("OnMAdminPermissionEdit");
})
.Sortable()
)
答案 0 :(得分:1)
好的,首先你需要改变:
.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= IsAllowed #>' />")
有:
.ClientTemplate("<input type='checkbox' name='checkedRecords' checked='<#= IsAllowed #>' />")
那应该解决你的第一个问题。对于第二个,我可能建议启用多选,如:
.Selectable(selection =>
{
selection.Enabled(true);
selection.Mode(GridSelectionMode.Multiple);
})
但这是一个长镜头。 希望这有帮助