在编辑期间设置Telerik MVC网格列属性

时间:2011-10-19 15:22:09

标签: telerik telerik-grid telerik-mvc

我有一个MVC 3 Razor Telerik网格。我在行上有一个编辑命令。

当用户点击“编辑”(这会将网格置于“编辑”模式并显示“更新和取消”按钮)时,我想将其中两列的属性设置为只读

当用户点击取消或更新时,我想将列设置回完全权限。

我知道控制器中必须有一些属性,我可以在按下编辑按钮时设置这些属性,但是没有看到任何关于如何实现此目的的文档。

我该怎么做?

我正在使用版本2011.2.712.340的控件。

1 个答案:

答案 0 :(得分:3)

您在上面描述的内容听起来有点令人困惑。 readonly属性的目的是确保当您的行进入编辑模式时,无法编辑具有只读显式设置的列,这似乎是您正在寻找的。在常规读取模式下,无论是否设置了readonly,所有列都将具有相同的权限,因为您只是查看数据而不是编辑。

在评论澄清之后进行修改:

似乎您希望在插入记录时可以编辑此字段,但在编辑行时则不能。嗯,这可以使用一些JavaScript来完成。如果您使用Ajax绑定(触发此事件的唯一方法),您可以通过订阅onEdit客户端事件来执行以下操作:

...
.ClientEvents(clientEvents => clientEvents.OnEdit("onEdit"))
...

这是JavaScript:

<script type="text/javascript">
function onEdit(e) {
    var form = e.form;
    var mode = e.mode;

    if (mode == "edit") {
        var country = form.Country; //Country is a public property of my Model
        country.disabled = true;
    }
}

正如您在上面所看到的,我获得了带有相关编辑行的表单,并专门抓取与我不想编辑的属性相关联的字段并禁用该输入元素。