Jqgrid:根据JSON值禁用某些复选框

问题描述:

如果Total Value是Les然后500K或LTV比率小于45%,我想禁用该行和复选框。此外防止残疾行的选择,以支持所选择的所有复选框中的多选列Jqgrid:根据JSON值禁用某些复选框

FIDDLE

$("#output").jqGrid({ 
    url: "/echo/json/", 
    mtype: "POST", 
    datatype: "json", 
    postData: { 
     json: JSON.stringify(jsonData) 
    }, 
    colModel: [ 
     /** { name: 'ClientID', label:'ClientID',width: 80, key: true },****/ 
     { 
     name: 'Symbol', 
     width: 65, 
     formatter: "showlink", 
     formatoptions: { 
      baseLinkUrl: "http://www.cnn.com", 
      idName: "", 
      addParam: function(options) { 
      return { 
       bankid: options.rowData.Symbol, 
       timePeriod: options.rowData.ShareQuantity 
      }; 
      } 
     } 
     }, { 
     name: 'Description', 
     width: 165 
     }, { 
     name: 'ShareQuantity', 
     align: 'right', 
     width: 85, 
     classes: "hidden-xs", 
     labelClasses: "hidden-xs", 
     formatter: 'currency', 
     formatoptions: { 
      prefix: " ", 
      suffix: " " 
     } 
     }, { 
     name: 'SharePrice', 
     label: 'Share Price', 
     align: 'right', 
     width: 100, 
     classes: "hidden-xs", 
     labelClasses: "hidden-xs", 
     template: "number", 
     formatoptions: { 
      prefix: " $", 
      decimalPlaces: 4 
     } 
     }, 
     /*{ label: 'Value1', 
        name: 'Value1', 
        width: 80, 
        sorttype: 'number', 
        formatter: 'number', 
        align: 'right' 
       }, */ 
     { 
     name: 'TotalValue', 
     label: 'Total Value', 
     width: 160, 
     sorttype: 'number', 
     align: "right", 
     formatter: 'currency', 
     formatoptions: { 
      prefix: " $", 
      suffix: " " 
     } 
     }, { 
     name: 'LTVRatio', 
     label: 'LTV Ratio', 
     width: 70, 
     sorttype: 'number', 
     align: "right", 
     formatter: 'percentage', 
     formatoptions: { 
      prefix: " ", 
      suffix: " " 
     } 
     }, { 
     name: 'LTVCategory', 
     label: 'LTV Category', 
     classes: "hidden-xs", 
     labelClasses: "hidden-xs", 
     width: 120, 
     width: 165 
     }, 

     { 
     name: 'MaxLoanAmt', 
     label: 'MaxLoanAmount', 
     width: 165, 
     sorttype: 'number', 
     align: "right", 
     formatter: 'currency', 
     formatoptions: { 
      prefix: " $", 
      suffix: " " 
     } 
     } 

    ], 
    additionalProperties: ["Num1"], 
    /*beforeProcessing: function (data) { 
     var item, i, n = data.length; 
     for (i = 0; i < n; i++) { 
      item = data[i]; 
      item.Quantity = parseFloat($.trim(item.Quantity).replace(",", "")); 
      item.LTVRatio = parseFloat($.trim(item.LTVRatio *10000).replace(",", "")); 
      item.Value = parseFloat($.trim(item.Value).replace(",", "")); 
      item.Num1 = parseInt($.trim(item.Num1).replace(",", ""), 10); 
      item.Num2 = parseInt($.trim(item.Num2).replace(",", ""), 10); 
     } 
    }, */ 
    iconSet: "fontAwesome", 
    multiselect: true, 
    loadonce: true, 
    rownumbers: true, 
    cmTemplate: { 
     autoResizable: true, 
     editable: true 
    }, 
    autoresizeOnLoad: true, 
    autoResizing: { 
     resetWidthOrg: true, 
     compact: true 
    }, 
    autowidth: true, 
    height: 'auto', 
    forceClientSorting: true, 
    sortname: "Symbol", 
    footerrow: true, 
    caption: "<b>Collateral Value</b> <span class='pull-right' style='margin-right:20px;'>Valuation as of: " + mmddyyyy + "</span>", 


    loadComplete: function() { 
     var $self = $(this), 
     sum = $self.jqGrid("getCol", "Price", false, "sum"), 
     sum1 = $self.jqGrid("getCol", "MaxLoanAmt", false, "sum"); 
     //ltvratio = $self.jqGrid("getCol","LTVRatio:addas", "Aved Loan Amount"); 
     $self.jqGrid("footerData", "set", { 
     LTVCategory: "Max Approved Loan Amount:", 
     Price: sum, 
     MaxLoanAmt: sum1 
     }); 
    } 
    }); 

可以使用rowattr的头禁用行:

rowattr: function (item) { 
    var ratio = parseInt(item.LTVRatio, 10); 
    if (item.TotalValue < 500000 || ratio < 45) { 
     return {"class": "ui-state-disabled ui-jqgrid-disablePointerEvents"}; 
    } 
} 

看到修改后的演示https://jsfiddle.net/OlegKi/615qovew/117/

+0

谢谢你的帮助 – user244394

+0

@ user244394:不客气! – Oleg

+0

快速的问题是可以将引导工具提示合并到链接?是他们的任何例子?谢谢 – user244394