Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Jquery ui kendoUi网格禁用列_Jquery Ui_Kendo Ui - Fatal编程技术网

Jquery ui kendoUi网格禁用列

Jquery ui kendoUi网格禁用列,jquery-ui,kendo-ui,Jquery Ui,Kendo Ui,我想基于角色安全性禁用databound上的列 我目前能够隐藏它不禁用如下,但我不知道如何禁用它。请告知,谢谢 function OnDataBound_ProductGrid() { if ("@ViewBag.Role" == 'Admin') { var grid = $("#Product").data("kendoGrid"); grid.hideColumn(0); } } @(Html.

我想基于角色安全性禁用databound上的列

我目前能够隐藏它不禁用如下,但我不知道如何禁用它。请告知,谢谢

function OnDataBound_ProductGrid() {

        if ("@ViewBag.Role" == 'Admin') {
            var grid = $("#Product").data("kendoGrid");
            grid.hideColumn(0);

        }
    }


@(Html.Kendo().Grid(Model)
  .Name("Grid")
  .Columns(columns =>
  {
     columns.Template(ClientTemplate("<input type='checkbox' class='checkbox'/> ");
     columns.Bound(r => r.RouteName);
  })
  .Events(events =>ev.DataBouns("OnDataBound_ProductGrid"))
)
函数OnDataBound\u ProductGrid(){
如果(“@ViewBag.Role”==“Admin”){
var网格=$(“#产品”).data(“kendoGrid”);
网格.hideColumn(0);
}
}
@(Html.Kendo().Grid(模型)
.名称(“网格”)
.列(列=>
{
columns.Template(ClientTemplate(“”);
columns.Bound(r=>r.RouteName);
})
.Events(Events=>ev.DataBouns(“OnDataBound_ProductGrid”))
)

您可以在数据源上将字段设置为
可编辑:false

您可以在数据源上将字段设置为
可编辑:false

我同意Antony的观点:

以下属性必须设置为false:

  model: {
        fields: {
            ProductID: {
                //this field will not be editable (default value is true)
                editable: false
            }
        }
    } 
在您的场景中,您应该能够执行以下操作:

function OnDataBound_ProductGrid() {
        if ("@ViewBag.Role" == 'Admin') {
            var grid = $("#Product").data("kendoGrid");
            grid.datasource.fields.ProductId.editable = false;

        }
    }
围绕网格定义包装/使用管理员角色条件也可以完成以下工作:

    if ("@ViewBag.Role" == 'Admin') { 
       InnitGrid(false);
    }
    else
    {
       InnitGrid(true);
    }

    function InnitGrid(isEditable) {
       $("#grid").kendoGrid({
                       dataSource: {
                                   model: {
                                        fields: {
                                            ProductID: {
                                                editable: isEditable
 // or just replace isEditable with ("@ViewBag.Role" == 'Admin')
                                            }
                                        }
                                    }
                                } 
                            }); 
        }
我同意安东尼的观点:

以下属性必须设置为false:

  model: {
        fields: {
            ProductID: {
                //this field will not be editable (default value is true)
                editable: false
            }
        }
    } 
在您的场景中,您应该能够执行以下操作:

function OnDataBound_ProductGrid() {
        if ("@ViewBag.Role" == 'Admin') {
            var grid = $("#Product").data("kendoGrid");
            grid.datasource.fields.ProductId.editable = false;

        }
    }
围绕网格定义包装/使用管理员角色条件也可以完成以下工作:

    if ("@ViewBag.Role" == 'Admin') { 
       InnitGrid(false);
    }
    else
    {
       InnitGrid(true);
    }

    function InnitGrid(isEditable) {
       $("#grid").kendoGrid({
                       dataSource: {
                                   model: {
                                        fields: {
                                            ProductID: {
                                                editable: isEditable
 // or just replace isEditable with ("@ViewBag.Role" == 'Admin')
                                            }
                                        }
                                    }
                                } 
                            }); 
        }

您可以使用返回true或false的函数,具体取决于您需要什么

columns.Bound(r => r.RouteName).Editable("isNotEditable");

function isNotEditable() {
    return false;
}

您可以使用返回true或false的函数,具体取决于您需要什么

columns.Bound(r => r.RouteName).Editable("isNotEditable");

function isNotEditable() {
    return false;
}

请尝试禁用该行状网格中的所有控件。_数据[0]。查找(“”).attr('disabled','disabled');您的问题进展如何?嗨,Bobby,请禁用它,我将隐藏该列。谢谢您尝试禁用该行状网格中的所有控件。_数据[0]。查找(“”).attr('disabled','disabled'));您的问题进展如何?嗨,Bobby,请禁用它,我将隐藏该列。谢谢。我理解这一点,但这不是我想要实现的,因为它是复选框,取决于ViewBag的值。Rolear您是否使用ASP MVC帮助程序生成网格?能否附上一段代码,说明如何声明网格和exp你有什么问题吗?嗨,安东尼,我已经在上面的帖子中添加了我的网格。嗨,请尝试将你的模板更改为:
“”
我明白这一点,但这不是我想要实现的,因为这是复选框,取决于ViewBag的值。Rolear您是否使用ASP MVC帮助程序生成网格?能否附上一个片段,显示您如何声明网格并解释您遇到的问题?嗨,Antony,我已在上面的帖子中添加了我的网格嗨,尝试更改y我们的模板为:
“”