如何防止基于Jqgrid中的单元格值条件选择下拉列表 [英] How to prevent selecting a dropdown based on cell value condition in Jqgrid

查看:85
本文介绍了如何防止基于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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆