我有一个RadGrid
,EditMode
设置为Batch
。我想在某些条件下禁用列编辑,例如条件“A”我需要编辑启用,条件“B”我需要禁用编辑。
答案 0 :(得分:1)
我使用了java-script:
在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
...
}
答案 1 :(得分: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(真); } }
}