如何防止根据 Jqgrid 中的单元格值条件选择下拉列表



我正在尝试突出显示与我的预定义值不匹配Red单元格 和1. i want to get the count of red cells in each row in the columnError_cells_Count,现在在演示页面中,我已经手动输入了计数2. and i want to prevent user from selecting the dropdown in status column if the row has any red cells. 我已经设法突出显示了单元格。 请帮助获取Error_cells_Count列中的红细胞计数,并防止用户选择下拉列表。 这是我的演示页面 http://jsfiddle.net/h8Lzgh7d/27/Jqgrid版本版本为4.14.0 并且还恳请建议是否有可能具有预定义的字典,并通过用字典值替换红色单元格值来自动更正红细胞

首先,我建议您使用cellattr在单元格上设置任何 CSS 属性。您可以使用editable定义为允许编辑单元格的函数的秒数取决于您的某些自定义条件(有关更多详细信息,请参阅 wiki 文章(。

固定的演示可能是以下 https://jsfiddle.net/OlegKi/h8Lzgh7d/30/。它使用以下代码:

var hilightcolorcell=["PURPLE","PINK","GREEN"];
var hilightcahractercell=["Character 1","Character 2","Character 3"];
jQuery("#rowed5").jqGrid({
datatype: "local",
shrinkToFit: false,
data: mydata,
height: 320,
autowidth:true,
colNames:['RowID','Error_Cells_Count','status','note','color_name','character_name','Variant ID'],
colModel: [ 
{name:'id', width:55, sorttype:"int",align:"center",frozen:true},
{name:'Error_Cells_Count', width:100, sorttype:"int",
align:"center",frozen:true,
cellattr: function (rowid, cellValue) {
if (cellValue != null) {
var value = parseInt(cellValue, 10);
return " class='" +
(value > 0 ? "redcells" : "greencells") +
"'";
}
}},
{name:'status', width:100,
editable: function (options) {
var item = $(this).jqGrid("getLocalRow", options.rowid);
return (item.Error_Cells_Count == null || item.Error_Cells_Count <= 0) &&
$.inArray(item.color_name, hilightcolorcell) >= 0 &&
$.inArray(item.character_name, hilightcahractercell) >= 0;
},
edittype:"select",editoptions:{value:"Approve:Approve"}},
{name:'note',width:100, sortable:false,editable: true,
edittype:"textarea", editoptions:{rows:"2",cols:"10"}},
{name:'color_name',
cellattr: function (rowid, cellValue) {
if ($.inArray(cellValue, hilightcolorcell) < 0) {
return " class='redcells'";
}
}},
{name:'character_name',
cellattr: function (rowid, cellValue) {
if ($.inArray(cellValue, hilightcahractercell) < 0) {
return " class='redcells'";
}
}},
{name:'v_id'}
],
cmTemplate: { width:110 }, // define default properties for colModel
editurl: "functions.php",
cellEdit: true,
cellsubmit: 'remote',
cellurl: 'functions.php',
searching: {
stringResult: true,
searchOnEnter: false,
defaultSearch : "cn"
}
}).jqGrid("setFrozenColumns")
.jqGrid("filterToolbar");

最新更新