1

ユーザーがjQgridに同じレコードを入力できないようにするために、editrules custom_funcを使用しています。colMOdel 定義が次のような列に custom_func を定義しました。

{ name: 'BO', index: 'BO', width: 40, editable: true, edittype: 'select', /*formatter: 'select',*/ editrules: { custom: true, custom_func: function (value, colName) { return CustomFunction.call(this, value, colName, oGrid); } },

jQgrid の select 列を ID(UID) : Name(Text) として入力していますが、そのコードは完全に彼の仕事をしてエラーメッセージを表示していますが、問題は次のような UID 値を示すエラーメッセージです

b66a2719-b88a-427e-8904-816fe8e60fde You are creating duplicate record . Please give another role for selected BO type.エラーメッセージにこのID値を含めたくありません。この値を削除するにはどうすればよいですか???? 助言がありますか???

4

1 に答える 1

0

問題を解決するには、jqGrid を新しいバージョンに更新する必要があります。理由はとても簡単です。jqGrid 4.4.4 で使用されているインライン編集モジュールは次の行です (こちらを参照)

cv = $.jgrid.checkValues(tmp[nm],i,$t);
if(cv[0] === false) {
    cv[1] = tmp[nm] + " " + cv[1];
    return false;
}

tmp[nm]あなたの場合、 textが含まれていますb66a2719-b88a-427e-8904-816fe8e60fde。jqGrid 4.5.2 は同じコードを使用します。したがって、接頭辞を削除する方法はありませんtmp[nm] + " "

最近公開されたバージョン 4.5.4 では、行が次のように変更されています (こちらを参照)。

cv = $.jgrid.checkValues.call($t,tmp[nm],i);
if(cv[0] === false) {
    return false;
}

したがって、jqGrid を 4.5.4 に更新するか、jqGrid コードのコピーに対応する変更を加える必要があります。

于 2013-10-07T11:01:11.860 に答える