0

グループ以外の代替機能を使用して同じアクションを実行できますか?グループを使用してワークアウトしようとしているシナリオは次のとおりです。フォームに複数のページがあり、最初のページに概要ボタンをクリックすると、すべてのページの概要が表示されます。

私たちが試したロジックは、グループを使用して、概要ボタンがクリックされたときにtrueになるフォーム変数を設定し、すべてのページでこの変数の値を確認することで、個々のページをクラブ化することでした。したがって、概要ボタンがクリックされると、この条件が満たされ、すべてのページが満たされます。が表示されます。

コードスニペット

<Xforms:group id="page-1" 
              ref=".[instance('form')/current-page = '1' 
                      or 
                     instance('form')/summary = 'true']">

group fnを使用すると、パフォーマンスが大幅に低下します。同じシナリオを実行する方法はありますか?親切なアドバイス。

4

1 に答える 1

0

At this point, hidden groups and hidden cases work differently:

  • The controls in hidden groups are non-relevant.
  • The controls in hidden cases are relevant.

As a result, using a switch/case, the server has to do more work to maintain and update the state of controls in hidden cases, but switching to a another case is very fast: it is pretty much just a matter of changing a class in the HTML, as the values of all the controls are already there. With hidden groups, when "switching to another group", the values for the controls in that group are sent by the server to the browser. Updating the values can take a little bit of time, especially if you have a lot of controls, say in a repeat.

It is hard to give a recommendation without really running your code, but if the time taken to do a switch is mostly spent on the browser, you could investigate using the full update mechanism. If the time is mostly spent on the server, then I'd look into XPath analysis. (Note that both features are PE-only.)

于 2011-04-30T02:36:20.117 に答える