how to get the correct item in the model, after sorting in a repeat
Posted by
Myxlyxl on
Jun 03, 2009; 9:20am
URL: https://discuss.orbeon.com/how-to-get-the-correct-item-in-the-model-after-sorting-in-a-repeat-tp43833.html
Hello,
my problem:
I use exf:sort to sort a repeat:
<xforms:repeat nodeset="exf:sort(instance('main-instance')/Calls/Call/Servicerufnummern/SRN,'@ID','text')" id="N10028-repeat">
</xforms:repeat>
somewhere later (not in the above repeat) I have a trigger to delete an element from the repeat:
<xforms:trigger appearance="minimal">
<xforms:action ev:event="DOMActivate">
<xforms:delete at="index('N10028-repeat')" ev:event="DOMActivate" context="instance('main-instance')/Calls/Call/Servicerufnummern" nodeset="SRN" />
</xforms:action>
<xforms:label>

SRN
</xforms:label>
</xforms:trigger>
The problem is, that index('N10028-repeat') doesnt provide the correct index. It gives me the correct index of the selected item, but this is not the same as in the model because of the sort. Without sorting everything works perfect.
I also tried something like: count(instance('main-instance')/Calls/Call/Servicerufnummern/SRN[index('N10028-repeat')]/preceding-sibling::SRN)+1] , no luck either.
Perhaps somebody has an idea how to get the correct index ?
Thanks a lot
Michael