Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 阻止编辑剑道网格中的行?_Javascript_Jquery_Html_Kendo Ui_Kendo Grid - Fatal编程技术网

Javascript 阻止编辑剑道网格中的行?

Javascript 阻止编辑剑道网格中的行?,javascript,jquery,html,kendo-ui,kendo-grid,Javascript,Jquery,Html,Kendo Ui,Kendo Grid,我正在使用剑道网格,在编辑一行时,我正在检查该行是否可编辑。因此,如果选定行不可编辑,如何使其不可编辑。我正在执行网格的签入edit功能 代码 但当我使用它时,我在控制台中得到以下错误 Uncaught TypeError: Cannot call method 'delegate' of null 是否有人可以建议一种解决方法。谢谢。在当前情况下,我建议使用dataBound事件迭代数据源数据,并检查当前记录是否满足给定条件以禁用其编辑按钮: function onDataBound(e)

我正在使用剑道网格,在编辑一行时,我正在检查该行是否可编辑。因此,如果选定行不可编辑,如何使其不可编辑。我正在执行网格的签入
edit
功能

代码

但当我使用它时,我在控制台中得到以下错误

Uncaught TypeError: Cannot call method 'delegate' of null 

是否有人可以建议一种解决方法。谢谢。

在当前情况下,我建议使用dataBound事件迭代数据源数据,并检查当前记录是否满足给定条件以禁用其编辑按钮:

function onDataBound(e) {
    //this solution makes all rows editable / not editable initially
    var grid = e.sender;
    var data = grid.dataSource.view();

    for (var i = 0; i < data.length; i++) {
        //check your custom condition
        if (data[i].OrderID % 2 == 0) {
            var editButton = grid.tbody.find("tr[data-uid='" + data[i].uid + "'] .k-grid-edit");
            editButton.addClass("k-state-disabled").removeClass("k-grid-edit");
            //or
            //grid.tbody.find("tr[data-uid='" + data[i].uid + "'] .k-grid-edit").remove();
        }
    }
}
函数onDataBound(e){
//此解决方案最初使所有行都可编辑/不可编辑
var grid=e.sender;
var data=grid.dataSource.view();
对于(变量i=0;i
同意,即使我通过更改事件实现了row残疾功能。代码如下:

 function onRowSelect(val) {
    var curCell = $("#abc").find(".k-state-selected");
    if (curCell[0].innerText.indexOf('ABCD')>-1) {
        curCell[0].disabled = true;
    }

...


@(Html.Kendo().Grid<xyz>()
.Name("abc")  
.Selectable()   
.Events(e=>e.Change("onRowSelect"))
函数onRowSelect(val){
var curCell=$(“#abc”).find(“.k-state-selected”);
if(curCell[0].innerText.indexOf('ABCD')>-1){
curCell[0]。disabled=true;
}
...
@(Html.Kendo().Grid())
.姓名(“abc”)
.可选()
.Events(e=>e.Change(“onRowSelect”))

该函数将在编辑行时调用,一旦该函数被点击,将不允许更改。

基本上,我建议使用dataBound事件阻止编辑,但这取决于当前的网格配置-您可以共享网格代码吗?我已经编辑了代码。您可以在谷歌上搜索KendoUI readonly吗行应被伪装为答案!您好,欢迎使用堆栈溢出!请添加一些注释,而不是添加唯一的代码段。嗨,在编辑行时将调用此函数,一旦此函数被命中,这将不允许更改..它可以工作,但会在控制台中抛出一个错误。效果更好:this.cancelRow();
 function onRowSelect(val) {
    var curCell = $("#abc").find(".k-state-selected");
    if (curCell[0].innerText.indexOf('ABCD')>-1) {
        curCell[0].disabled = true;
    }

...


@(Html.Kendo().Grid<xyz>()
.Name("abc")  
.Selectable()   
.Events(e=>e.Change("onRowSelect"))
function onGridCellEdit(e) {

    this.closeCell();
}