我在我的JqGrid项目中使用MVCJqGrid和MVCJqGrid Html包装器。我使用的MVCJqGrid版本是1.0.15。我在cshtml文件中有下面的代码,以便在页面中创建网格。
@(Html.Grid("Contacts")
.SetCaption("Contacts")
.SetUrl(@Url.Action("Contacts", "Home"))
.SetAutoWidth(true)
.SetViewRecords(true)
.AddColumn(new Column("Name").SetAlign(Align.Left).SetEditable(false))
.AddColumn(new Column("IsPrimaryContact").SetAlign(Align.Center).SetFormatter(Formatters.Checkbox).SetLabel("Is Primary?"))
.AddColumn(new Column("Email").SetLabel("Email Address").SetFormatter(Formatters.Email))
.AddColumn(new Column("Handphone").SetAlign(Align.Right).SetFormatter(Formatters.Number))
.AddColumn(new Column("Office").SetAlign(Align.Right))
.AddColumn(new Column("Telephone").SetAlign(Align.Right))
.AddColumn(new Column("Other").SetAlign(Align.Right))
)在上面的代码中,"IsPrimaryContact“是bool值,我将其显示为网格中的复选框列。当页面加载时,所有列都显示为只读--即我不能编辑,但复选框列仍然是可编辑的,并且可以选中/取消选中列中的复选框。我希望复选框也被禁用,用户不应该能够更改其值。我已经将复选框列的SetEditable添加到false,也很少尝试其他事情,但是列中的复选框始终保持启用状态。在加载页面时,如何将列中的复选框显示为禁用?
发布于 2014-12-09 10:44:22
您可以使用自定义格式化程序,而不是使用标准格式化程序。您可以在这里找到一个例子,http://mvcjqgrid.skaele.it/Home/Formatters
设置列的自定义格式化程序:
.AddColumn(new Column("IsPrimaryContact").SetAlign(Align.Center).SetCustomFormatter("displayCheckBox").SetLabel("Is Primary?"))格式化函数
<script type="text/javascript">
function displayCheckBox(cellvalue, options, rowobject) {
return '<input type="checkbox" value="' + cellvalue + '" disabled="disabled">';
}
</script>没有测试代码,但它应该能工作;)
https://stackoverflow.com/questions/27373864
复制相似问题