Radgrid 列批量编辑根据条件启用/禁用

问题描述 投票:0回答:2

我有一个

RadGrid
,其中
EditMode
设置为
Batch
。我想在某些条件下禁用列编辑,例如对于条件“A”,我需要启用编辑,对于条件“B”,我需要禁用编辑。

telerik telerik-grid radgrid
2个回答
1
投票

我使用了java脚本:

在 RadGrid 中,您只需添加代码:

<ClientSettings ...
     <ClientEvents  OnRowClick="OnRowClick" />
...>

在 JavaScript 中:

function OnRowClick(sender, eventArgs) {
    var RowID = eventArgs.get_id(); //get Row
    var masterTable = $find("<%=rdGrid.ClientID%>").get_masterTableView(); //get Grid
    var ControlX = masterTable.get_dataItems()[RowID].findElement('ControlX').id; //get Control ID
    //check conditions then disable or enable...
    $(ControlX).prop('disabled', false); //Get Control and Disable the editing
    
    ...
}

0
投票

我尝试过这个,它有效。

       <ClientSettings AllowKeyboardNavigation ="true">
       <ClientEvents OnBatchEditOpening="batchEditOpening" OnBatchEditOpened="batchEditOpened" OnBatchEditClosed="OnBatchEditClosed" OnKeyPress ="KeyPress" />
    </ClientSettings>

function batchEditOpening(sender, args) {
    var rulesValue = document.getElementById("cphContent_LoginAuditControl_RolesHiddenField").value;
    if (args.get_columnUniqueName() == "Reason" || args.get_columnUniqueName() == "Comment") {
        if (rulesValue == 'false') {
            args.set_cancel(true);
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.