で、モードを追加し、私はこの機能がない編集モードでは、唯一の追加モードで実行することにしたい、しかしeditrules: { custom: true, custom_func: checkforduplicates, required:true }
カスタム機能のみ編集モードのために、ではないjqGrid
などjqGridのカスタム機能を持っています。これは可能ですか?
編集: - 下のオレッグからの回答の後、私は以下のコードに変更しました。ただし、アラートは印刷されません。どこが間違っているのか分かりません。
colModel: [
{ key: true, name: 'id', editable: false, formatter: 'integer', viewable: false, hidden: true },
{
key: false,
name: 'name',
editable: true,
editrules: {
required: true,
custom: function (options) {
// options have the following properties
// cmName
// cm
// iCol
// iRow
// rowid
// mode - "editForm", "addForm", "edit", "add", "cell" and so on
// newValue - the value which need be validated
// oldValue - the old value
// some additional properties depends on the editing mode
alert("mode is " + options.mode);
if (options.mode === "add") { // "add" for inline editing
var grid = $("#grid");
var textsLength = grid.jqGrid("getRowData");
var textsLength2 = JSON.stringify(textsLength);
alert("i am here");
var myAttrib = $.map(textsLength,
function (item) { return item.name });
var count = 0;
for (var k in textsLength) {
if (textsLength.hasOwnProperty(k)) {
++count;
}
}
var text, i;
for (i = 0; i < count; i++) {
text = myAttrib[i];
if (value === text) {
return [false, " - Duplicate category name."];
}
}
return [true, ""];
}
return true;
}
}
},
'jqGrid 4.4.4 - jQuery Grid' '無料jqGrid'ですか?上記のカスタム機能を使用すると、内部の警告文が印刷されないためです。 – Chakra
インドは英国の一部ですか?それは時点に依存します。 jqGridのライセンス契約は、2014年末にjqGrid 4.7.1([post](http://www.trirand.com/blog/?p=1438)を参照)の公開から変更されました。 4.7.0のMIT/GPLライセンスに基づいて、私は** freq jqGridという名前で開発した4.7.0のフォーク**をGuriddo jqGrid JSの反対側で開発しました。 ://guriddo.net/?page_id = 103334)。したがって、jqGrid <= 4.7のバージョンは無料ですが、名前 "free jqGrid"は私が開発した製品を意味します。 jqGridの4.xバージョンと互換性がありますが、多くの新機能があります。 – Oleg