【问题标题】:How can i write condition in jqgrid colmodel我如何在 jqgrid colmodel 中编写条件
【发布时间】:2021-03-01 08:30:54
【问题描述】:

你能帮帮我吗?我有以下colmodel:

colNames: ["Name","Value", "upper limit", "lower limit", "stock"],
            colModel: [
                { name: 'Num', index:'num', align:"center", sortable:false,width: 40, resizable:false },
                { name: 'Value', index:'Value', align:"center", width: 70,
                    cellattr: function (rowId, cellValue, rawObject, cm, rdata) {
                        // {
                        //     if (rawObject[1] >= 300 || rawObject[1] <= 50) {
                        //         var colorText = 'style="font-weight: bold;font-size: 24px;+colorText"';
                        //     } else {
                        //         var colorText = 'style="font-weight: bold;font-size: 24px;color:red"';
                        //     };  return(colorText);}},
                        console.log (rawObject[1])
                    }},

                {name:'upper', index:'upper', align:"center", width: 25, resizable:false,editable:true,
                    cellattr: function(rowId, val, rawObject){return 'style="font-size: 15px;"';}},
                {name:'lower', index:'lower', align:"center", width: 25, resizable:false, editable:true,
                    cellattr: function(rowId, val, rawObject){return 'style="font-size: 15px;"';}},
                { name: 'stock', index:'stock', align:"center", sortable:false,width: 40, resizable:false }
                ],

以下是我从 get-data.php 获得的信息。

$array = array(
array("1","$f1rst", "300","50"),//: Закладочный ствол
array("2","$second","350","60"),//: Клетьевой ствол
array("3","$three","120","20"),//: Портал
array("4","$four","200","20"),//: Скиповой ствол
array("5","$five","200","0"));//: ЦВС


//var_dump($array);
if (empty($array)) {
    echo '["Нет данных"]';
}
else {echo json_encode($array);}

index.php example

我需要比较值。例如:第一个单元格中的第一个值等于 60。如果 'value'> = 300 或 'value' = 350 或 value

更新。 在我的示例中,代码不起作用。它对整个列进行条件检查。我需要每个单元格

更新2。 看看它怎么运作

【问题讨论】:

  • 使用哪个版本的jqGrid?
  • 我使用的是 jqGrid 4.6.0 版本
  • 此版本太旧,可能包含与您类似的代码的错误。
  • 我安装了 5.5.4 版。我的问题的重点不在于代码不起作用。事实是我无法引用所需的单元格。代码选择了整列,但是我想引用想要的行和想要的列。
  • 不确定你在做什么,但在这里example 和你的想法一样。也许您在代码中添加了 rowattr 事件,这可能会覆盖您的 cellattr。这就是询问整个 jqGrid 代码而不是部分代码的原因,因为其他部分可能会覆盖您的代码。

标签: php jqgrid


【解决方案1】:

Tony Tomov 给出了正确答案。非常感谢,一切顺利,一切正常

下面是一个例子的链接

example

 {label: 'Название', name: 'Num', index: 'num', align: "center", sortable: false, width: 40, resizable: false},
        {
          label: 'Значение', name: 'Value', index: 'Value', align: "center", width: 70,
          cellattr: function (rowId, cellValue, rawObject, cm, rdata) {
            if (rdata["Num"] === '1' && (rdata['Value'] >= 300 || rdata['Value'] <= 50)) {
              return ' class="class1" ';
            } else if (rdata["Num"] === '2' && (rdata['Value'] >= 350 || rdata['Value'] <= 60)) {
              return ' class="class1" ';
            } else if (rdata["Num"] === '3' && (rdata['Value'] >= 120 || rdata['Value'] <= 20)) {
              return ' class="class1" ';
            } else if (rdata["Num"] === '4' && (rdata['Value'] >= 200 || rdata['Value'] <= 20 || isNaN(rdata['Value']))) {
              return ' class="class1" ';
            } else if (rdata["Num"] === '5' && (rdata['Value'] >= 200 || rdata['Value'] <= 0)) {
              return ' class="class1" ';
            }
          }
        },

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多