javascript - 关于条件,Kendo网格网格:如何使单元格只读

  显示原文与译文双语对照的内容
0 0

在 Kendo UI网格( 使用 Angularjs ) 中,我有以下网格:


<div kendo-grid k-data-source="Table" k-options="thingsOptions" style="height: 365px">

$scope.thingsOptions = {
 sortable:"true",
 scrollable:"true",
 toolbar: [{ name:"create", text:"Aggiungi Prodotto" }],
 columns: [
 { field:"Name", title:"Name", width:"50px" },
 { field:"Description", title:"Description", width:"50px" },
 { field:"Price", title:"Price", width:"50px" },
 { field:"Active", title:"Active", template: '<input type="checkbox" disabled="disabled" #= Active? checked="checked":"" # class="chkbx"/>', width:"20px" },
 { command: [{ name:"edit", text:"Modifica" }], title:"", width:"172px" }
 ],
 editable:"inline"
};

如何在某些情况下使"价格"字段成为只读字段? 我必须测试一个变量,如果它是 true,我希望价格字段只是可以写的。

我尝试在"thingsoptions"函数中添加:


edit: function (e) {
 if(myvar == true)
 e.container.find("input[name=Price]").enable(false);
 }

但是我不能用( 未定义的引用) 。

时间: 原作者:

0 0

尝试使用:


edit: function (e) {
 if(myvar == true)
 $("input[name=Price]").attr("readonly", true);
 } else {
 $("input[name=Price]").attr("readonly", false);
 }
}

原作者:
0 0

制作成


{ field:"Price", title:"Price", width:"50px, editable: false" },

原作者:
0 0

inside的编辑功能只是操作要使用的条件。 若要关闭单元格,可以使用 this.closeCell();


 edit: function (e) {

//Size will be editable only when the Area is not empty 
 if(e.container.find("input").attr("name") == 'Price') { 
//Below statement will close the cell and stops the editing.
 if(myvar == true){
 this.closeCell();
 }
 }
 }

要了解更多信息,请在这里查看

0 0

columns: [{
 editable: false,
 field:"Id",
 title:"Id",
 width: 50,
 editor: idEditor,
 }, {
 title:"Name",
 field:"Name",
 width: 100
 }, {
 command: ["edit","destroy"],
 title:"&nbsp;",
 width:"250px"
 }] 

function idEditor(container, options) {
 container.append(options.model.Id);
 }

...