如何防止基于Jqgrid中的单元格值条件选择下拉列表 [英] How to prevent selecting a dropdown based on cell value condition in Jqgrid
问题描述
我试图突出显示Red
中的单元格,无论哪个值与我的预定义值都不匹配
和
1. i want to get the count of red cells in each row in the column
Error_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
并建议是否有预定义词典并通过用词典值替换红细胞值来自动更正红细胞的可能性
i am trying to highlight the cells in Red
whichever values not matching with my predefined values
and
1. i want to get the count of red cells in each row in the column
Error_cells_Count
,now in the demo page i have manually entered the count
2. and i want to prevent user from selecting the dropdown in status column if the row has any red cells
.
i have managed to highlight the cells.
please help to get the red cells count in Error_cells_Count
column and prevent user from selecting dropdown.
this is my demo page http://jsfiddle.net/h8Lzgh7d/27/
Jqgrid version version is 4.14.0
and also kindly suggest if any possibilities to have predefined dictionary and correct the red cells automatically by replacing the red cell values with dictionary value
推荐答案
首先,我建议您使用cellattr
设置单元格上的所有CSS属性.您可以使用定义为功能的editable
秒来允许根据某些自定义条件编辑单元格(请参阅
First of all I'd recommend you to use cellattr
to set any CSS properties on the cell. Seconds you can use editable
defined as function to allow editing the cell depend on some your custom criteria (see the wiki article for more details).
固定演示可以为以下 https://jsfiddle.net/OlegKi/h8Lzgh7d/30 /.它使用以下代码:
The fixed demo could be the following https://jsfiddle.net/OlegKi/h8Lzgh7d/30/. It uses the following code:
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");
这篇关于如何防止基于Jqgrid中的单元格值条件选择下拉列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!