ASP.Net MVC Infragistics igGrid - 用于更新记录的只读属性,用于添加记录的非只读属性

ASP.Net MVC Infragistics igGrid - readonly attributes for updating a record, non-readonly attributes for adding a record

你好 Whosebug 社区,

我正在使用 ASP.Net MVC Infragistics igGrid。我希望我的网格具有以下行为。如果我向 igGrid 添加新记录,我希望我的网格的所有属性/列都是可编辑的。

当我想更新 igGrid 的记录时,我希望某些属性/列是只读的。我试过将我的一些专栏设置为只读。这解决了我的问题

当我想更新记录时。但是当我想添加一条记录时,这些属性现在是只读的。

有没有办法单独设置只读属性来添加和编辑记录?

非常感谢您的帮助。

您应该能够应用类似于此 post 中描述的方法: http://www.infragistics.com/community/forums/t/90654.aspx

基本上让所有列都保持可编辑状态,并根据 ui.columnKey 值取消 editCellStarting 事件,而不是相反。

这也是我 use.It 使用 igTreeGrid 的原因。您可以从这里开始调整它:

editRowStarted: function (evt, ui) {
    console.log("editRowStarted");

    columnsToHide = ["transactionDate", "bankAccountId","distributionDescription"];
    $("tr[data-new-row] td").each(function () {
        for (j = 0; j < columnsToHide.length; j++) {
            var description = $(this).attr('aria-describedBy');
            if (description.indexOf(columnsToHide[j]) > 0) {
                console.log("Hiding : " + description);
                $(this).css('visibility', 'hidden');
            }
        }
    });
},

这是为了隐藏 grid/treeGrid 中的一些过滤器。当我在同一个 treeGrid 中有两个实体时,我会使用它:

function hideFilters(filterColumnKeys) {
    $(".ui-iggrid-filterrow td").each(function () {
        for (j = 0; j < filterColumnKeys.length; j++) {
            var description = $(this).attr('aria-describedBy');
            if (description.indexOf(filterColumnKeys[j]) > 0) {
                console.log("Hiding : " + description);
                $(this).css('visibility', 'hidden');
            }
        }
    });
};