Twitter bootstrap getItemValueArray的大值列表编辑操作太慢
使用此代码从重复控件编辑多值字段。如果值列表不大,正常/快速,但值列表大,则缓慢将数据带到对话框(引导) 此按钮在重复控制中编码Twitter bootstrap getItemValueArray的大值列表编辑操作太慢,twitter-bootstrap,xpages,xpages-ssjs,Twitter Bootstrap,Xpages,Xpages Ssjs,使用此代码从重复控件编辑多值字段。如果值列表不大,正常/快速,但值列表大,则缓慢将数据带到对话框(引导) 此按钮在重复控制中编码 <xp:button value="-" id="submitButtonId2" styleClass = "btn btn-success"> <xp:eventHandler event="onclick" submit="true" refreshMode="partial"
<xp:button value="-" id="submitButtonId2" styleClass = "btn btn-success">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial"
refreshId="pnlRow" disableValidators="true" id="eventHandler3">
<xp:this.action><![CDATA[#{javascript:viewScope.index = rowIndex;
EditRow();}]]></xp:this.action></xp:eventHandler>
<xp:this.attrs> <xp:attr name="data-toggle" value="modal">
</xp:attr>
<xp:attr name="data-target" value="#OrderRow">
</xp:attr>
</xp:this.attrs>
</xp:button>
我建议避免这种模式:
var value = document.getItemValueArray("field")[index];
getComponent("component").setValue(value);
通过EL将组件绑定到文档:
value="#{document1.field[index]}"
您需要重做“保存”按钮,我假设您同样地选择更新的值并将它们传输到文档中
并仅在需要时显示该组件,因此您的编辑按钮将切换编辑组件的可见性。什么是“大”?并提供更多的代码,也许你可以通过迭代和数据转换(似乎你在循环中反复调用getItemValueArry——这是一个很大的禁忌!)哦,是的,正如@FrantisekKossuth所说的。最好将
getItemValueArray
内容复制到viewScope
'd变量中,并仅从中获取当前的rowIndex
。将大大减少调用文档和填充临时变量的次数。我假设您键入了这个,并且没有从代码中复制和粘贴,因为您在第一行有一个拼写错误?请尽可能使用EL。或者至少尝试以下调用:getItemValue().get(index),如果它有帮助,那么使用getComponent.setValue()总是“昂贵的”-尝试改用后端文档,并对Xpage进行(部分)刷新
value="#{document1.field[index]}"