我正在使用模式弹出窗口添加新记录,但我使用内联来编辑当前记录。添加新记录时,我想隐藏模态弹出窗口中的一些列。
如果我将列设置为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'
});
}
}
}
答案 0 :(得分:1)
解决方案取决于jqGrid的版本以及您使用的fork。最简单的解决方案是升级到free jqGrid的最新版本(4.13.1)(这是我开发的分支)。如果你通过NuGet安装旧版本,那么你应该卸载它并从here安装免费的jqGrid。您可以在本地CDN或download使用它。
Free jqGrid允许将editable
属性定义为函数。有关详细信息,请参阅the wiki article。如果"hidden"
,您可以测试来自editable
回调的返回options.mode === "addForm"
值。