igGrid の 入力検証機能 (igValidator) をご利用頂くと、特定セルの値に応じて入力検証ができます。
var editedCellRowID; $(function () { //igGrid $("#grid").igGrid({ autoGenerateColumns: false, primaryKey: "ID", width: "auto", autoCommit: true, columns: [ { headerText: "ID", key: "ID", dataType: "number" }, { headerText: "数値", key: "Number", dataType: "number" }, { headerText: "最大値", key: "MaxNumber", dataType: "number" } ], dataSource: SampleData, features: [ { name: "Updating", editCellStarted: function(evt, ui){ // 対象行IDを取得 editedCellRowID = ui.rowID; }, columnSettings: [ { columnKey: "ID", required: true, readOnly: true, }, { columnKey: "Number", required: true, readOnly: false, editorOptions:{ validatorOptions: { // カスタム検証用メソッド custom: function (value, fieldOptions) { // 入力チェック // 同行の最大値を取得 var maxValue = $("#grid").igGrid("getCellValue", editedCellRowID, "MaxNumber"); if(maxValue < value){ return false; } return true; }, errorMessage : "MaxNumber より大きい値が設定されています。" } } }, { columnKey: "MaxNumber", editorOptions: { readOnly: true, disabled: false, }, }, ] } ] }); });