0

jqGrid の上に構築された Struts2-jQuery Grid (sjg:grid) を使用しています。

gridcolumn で定義された editrules を追加しました。グリッドに付属の [保存] ボタンをクリックすると、それらが呼び出されます。ただし、「保存操作」のために、グリッドの NavBar/ToolBar にカスタム ボタンを定義しました。

ユーザーがカスタム ボタンをクリックしたときに、グリッド列に対して (EditRules を介して) 定義されたルールを呼び出すにはどうすればよいですか?

更新(詳細とサンプルコードを提供するため):

jQGrid には、カスタムの「edittype」および「editrules」オプションがあるようです。参照 URL

以下のように、グリッド列に同様のカスタム編集規則を定義しました。

<sjg:gridColumn name="customType" index="customType" title="customType"
editable="false" edittype="custom" editrules="{custom:true, custom_func:mypricecheck}"></sjg:gridColumn>

JavaScript関数は、同じJSPページで以下のように定義されています

function mypricecheck(value, colname) {
alert('Calling custom validation');
if (value < 0 || value >20) 
  return [false,"Please enter value between 0 and 20"];
else 
  return [true,""];
}

sjg:grid タグでこの追加属性を使用して、sjg:grid にカスタム ボタンを追加しました。

navigatorExtraButtons="{
                           SaveAll:{
                                     title:'Save All',
                                     onclick:function(){fnSaveAll()}
                                   }
                         };

このカスタム ボタンをクリックすると、fnSaveAll() JavaScript 関数から editrules 検証を呼び出したいと思います。グリッドに付属のデフォルトの「保存」ボタンをクリックすると、editrules 検証が自動的に呼び出されます。

内部でどのように呼び出しているかを知っていれば、カスタム ボタンから同じ方法で呼び出すことができます。

4

0 に答える 0