仅适用于模态的jqGrid隐藏属性

时间:2016-03-18 17:44:40

标签: javascript jquery jqgrid

我正在使用模式弹出窗口添加新记录,但我使用内联来编辑当前记录。添加新记录时,我想隐藏模态弹出窗口中的一些列。

如果我将列设置为hidden:true或editable:true,那么它也不会出现在网格中。弹出添加模型中隐藏列的最佳方法是什么,但仍然会在网格中显示它们?

更新到Oleg的答案(将可编辑属性设置为函数并测试隐藏):

    {
            key: false, name: 'FINAL_DT', index: 'FINAL_DT',
            editable: true, formatter: 'date',
            formatoptions: { newformat: 'm-d-Y' },
            formoptions: {},
            editrules: { custom: true, custom_func: validDateCheck },
             editable: function (options) {
                if (options.mode === "addForm")
                {
                    hidden = true;
                }
            },
            editoptions: {
                dataInit: function (element) {
                    $(element).datepicker({
                        id: 'finalDt_Datepicker',
                        dateFormat: 'mm-dd-yy',
                        //minDate: new Date(2010, 0, 1),
                        maxDate: new Date(2020, 0, 1),
                        showOn: 'focus'
                    });
                }
            }
        }

1 个答案:

答案 0 :(得分:1)

解决方案取决于jqGrid的版本以及您使用的fork。最简单的解决方案是升级到free jqGrid的最新版本(4.13.1)(这是我开发的分支)。如果你通过NuGet安装旧版本,那么你应该卸载它并从here安装免费的jqGrid。您可以在本地CDNdownload使用它。

Free jqGrid允许将editable属性定义为函数。有关详细信息,请参阅the wiki article。如果"hidden",您可以测试来自editable回调的返回options.mode === "addForm"值。