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

时间:2016-07-04 13:41:52

标签: asp.net-mvc infragistics ignite-ui iggrid

Hello Stackoverflow社区,

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

当我想更新我的igGrid的记录时,我想要一些属性/列是只读的。我已经尝试将我的一些列设置为只读。这解决了我的问题

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

enter image description here

有没有办法分别为添加和编辑记录设置只读属性?

非常感谢你的帮助。

enter image description here

2 个答案:

答案 0 :(得分:2)

这就是我使用的。它也适用于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');
            }
        }
    });
};

答案 1 :(得分:1)

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

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