禁用在kendo网格中编辑
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了禁用在kendo网格中编辑相关的知识,希望对你有一定的参考价值。
我正在尝试根据条件使可编辑网格无法使用。
我在jquery中试过如下
var $grid = &("#gridName").data("kendogrid");
Var model = $grid.datasource.at(1);
if(model)
model.field["cell"].editable = false;
但是这里的'模型'正在变得不确定。
还尝试了$ grid.data()然后循环遍历网格,但是单元格不可编辑,它们仍然可以编辑。
任何人都可以让我知道我怎样才能做到这一点。
答案
你有一些印刷错误......
试试这个:
var $grid = $("#gridName").data("kendoGrid");
var model = $grid.dataSource.at(1);
if (model)
model.fields["cell"].editable = false;
- 第1行。在
data
中它是kendoGrid而不是kendogrid。 - 第2行。在
model
中,它是var而不是Var - 第4行。这是
fields
而不是field
编辑:如果您想将"cell"
列更改为不可编辑,只需执行以下操作:
var $grid = $("#gridName").data("kendoGrid");
$grid.dataSource.at(0).fields["cell"].editable = false;
您只需将其更改为一行,因为模型由网格中的所有行共享。
看看它在JSFiddle中运行http://jsfiddle.net/OnaBai/GuyPa/
另一答案
禁用单元格编辑:
var len = $("#gridName").find("tbody tr").length;
for(var i=0;i<=len ; i++)
{
var model = $("#gridName").data("kendoGrid").dataSource.at(i);
if (model) {//field names
model.fields["DueDateStr"].editable = false;
model.fields["TotalAmount"].editable = false;
model.fields["IsPercentage"].editable = false;
}
}
禁用复选框控件,它在模板中:
$.map($("#gridName").find("input:checkbox"),
function (item) {
$(item).attr('disabled', 'disabled');
}
);
删除删除按钮等命令按钮:
var rows = $('#gridName tbody tr');
$.map(rows, function (row) {
//cell buttons index
row.cells[4].innerhtml = "";
});
隐藏工具栏网格:
$("#gridName .k-grid-toolbar").hide();
另一答案
for(i=0;i<=$("#grid").find("tbody tr").length ; i++)
{
var model = $("#grid").data("kendoGrid").dataSource.at(i);
if(model)
{
model.fields[$("#grid").data("kendoGrid").columns[i].field].editable = false;
}
}
另一答案
如果您正在使用“incell”编辑模式,则网格会有一个“编辑”事件,可用于立即关闭单元格。
$("#grid").kendoGrid({
...
edit: function(e) {
if ( ... ) {
this.closeCell();
}
}
...
});
更强大的方法是将kendoGrid子类化并覆盖editCell和/或editRow方法。然后你可以做任何你想做的事。 Look here有关子类化kendo小部件的信息。
另一答案
问题已解决。
var $grid = &("#gridName").data("kendoGrid");
var len= &("#gridName").data("kendoGrid tbody tr").length();
for(i=0;i<=len ; i++)
{
var model = $grid.datasource.at(i);
if(model)
model.fields["cell"].editable = false;
}
以上是关于禁用在kendo网格中编辑的主要内容,如果未能解决你的问题,请参考以下文章
在 kendo ui 网格中以编程方式更改 serverSorting