2016-05-18 14 views
0

私は、項目を持つdataViewタスク項目を順番に持っています。私は(下記参照)下の矢印をクリックすることにより、ユーザはそれらを動かしてみましょうか:Xpages:SSJSのJavaコールバックコールバック?

enter image description here

矢印をクリックすると、私は、文書内の値を変更し、適切なのparamsとJavaメソッド呼び出し - 移動します1つ上および1つ下に移動し、矢印値を設定します。

矢印のアクションは、フル・リフレッシュを呼び出し、私は基礎となる文書が正しいことを伝えることができますが、ページが更新されない、または私はそれが更新されるが、前にJavaが行われていると信じましょう。エラーをクリックした後で、ビューの変更が表示されないためです。矢印をクリックした後にUIからビューをリフレッシュすると、それらが表示されます。

データが更新されるまでは、簡単にリフレッシュを実行できません。実際には、データビュー上で部分的な更新を行うことが本当に好きですか?

必要に応じてコードを追加できます。

ありがとうございました。

<xp:panel xp:key="icon" style="width:35px"> 
          <xp:div id="div1" 
           style="display: inline-block;width:50%"> 
           <xp:this.styleClass> 
            <![CDATA[#{javascript:if (entry.getColumnValue("arrowUp") == "Y") 
{return "glyphicon glyphicon-arrow-down pull-left"} 
else 
{return "/moveBlank.gif"}}]]> 
           </xp:this.styleClass> 
           <xp:eventHandler event="onclick" 
            submit="true" refreshMode="complete"> 
            <xp:this.action><![CDATA[#{javascript:var mveDir:String = "H"; 
var pckOrd:String = entry.getColumnValue("order"); 
var type:String = "Inventory"; 
jc = new com.scoular.model.TaskInventory(); 
jc.moveTasks(pckOrd,mveDir,type)}]]></xp:this.action> 
           </xp:eventHandler> 
          </xp:div> 
          <xp:div id="div2" 
           style="display:inline-block;width:50%"> 
           <xp:this.styleClass> 
            <![CDATA[#{javascript:if (entry.getColumnValue("arrowDown") == "Y") 
{return "glyphicon glyphicon-arrow-up pull-left"} 
else 
{return "/moveBlank.gif"}}]]> 
           </xp:this.styleClass> 
           <xp:eventHandler event="onclick" 
            submit="true" refreshMode="complete"> 
            <xp:this.action><![CDATA[#{javascript:var mveDir:String = "L"; 
var pckOrd:String = entry.getColumnValue("order"); 
var type:String = "Inventory"; 
jc = new com.scoular.model.TaskInventory(); 
jc.moveTasks(pckOrd,mveDir,type);}]]></xp:this.action> 
           </xp:eventHandler> 
          </xp:div> 
      </xp:panel> 
+1

なぜクリックの間に新しいTaskInventoryモデルを作成していますか?私たちはJavaコードを参照する必要があります。 – pipalia

答えて

1

ときにはなeventHandlerの「onCompleteの」イベントでリフレッシュ動作を行う必要があります。これを最初からコーディングしていないと仮定すると、onComplete、onErrorなどを見る唯一の方法はアウトラインで見つけることです。

実際に問題がある場合は、少し参考にしてください。

<xp:button value="Cancel" id="button4"> 
    <xp:eventHandler 
     event="onclick" submit="true" refreshMode="partial" 
     onComplete="XSP.partialRefreshPost('#{id:mainContent}', {})" refreshId="mainPanel"> 
      <xp:this.action><![CDATA[#{javascript:viewScope.remove("editRow")}]]></xp:this.action> 
    </xp:eventHandler> 
</xp:button> 
関連する問題