Lib.Web.Mvc.JQuery.JqGrid - 在添加时启用列的编辑,但在“编辑”时不启用

时间:2014-09-07 21:18:21

标签: asp.net-mvc jqgrid lib.web.mvc

我有一个列恰好是现有的,设计不佳的架构中的特定实体的业务键和主键。允许对此密钥进行编辑是不切实际的,因为它们不会按原样级联。

所以我需要在创建时创建一个可编辑的列,而在编辑时不需要。我在jqGridLib.Web.Mvc.JQuery.JqGrid的文档中找不到任何暗示这是内置功能的内容,但如果是,我很乐意了解它。

如果没有,那么我将继续实现此功能的最佳方式是什么?我应该使列可编辑但添加自定义(客户端)格式化程序吗?还有另一种方式吗?

注意:这不是jqGrid need a field editable on Add dialog but not Edit dialog的副本,因为它与Lib.Web.Mvc.JQuery.JqGrid具体相关,而不是一般的JavaScript库。

所有帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

以下是我现在正在做的事情。这对我来说感觉“错误”和丑陋,但确实有效。

    function fnSetAccessGroupCodeReadOnly() {
        $("#AccessGroupCode").attr("readonly", "readonly");
    }

    function fnUnSetAccessGroupCodeReadOnly() {
        $("#AccessGroupCode").removeAttr("readonly");
    }

并在帮助器中,在动作导航器中进行编辑:

    new JqGridNavigatorEditActionOptions()
    {
        // Edit Options

        Url = Url.Action("EditPartnerAccessGroup"),
        MethodType = JqGridMethodTypes.Post,
        AfterShowForm = "fnSetAccessGroupCodeReadOnly",
        CloseAfterEdit = true
    },