Jquery ui kendoUi网格禁用列
我想基于角色安全性禁用databound上的列 我目前能够隐藏它不禁用如下,但我不知道如何禁用它。请告知,谢谢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.
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我们的模板为:“”