我正在使用JSF,我有一个复杂的数据表,用户可以按列标题排序,重新排序单个条目等。表本身包含由BOTH只读和可自由编辑的复选框组成的行和文本框。数据表的每个实例平均大约50行,但可以扩展到250左右。
鉴于可以调整(来自数据库)检索到的数据(由用户调整),我已经沿着包含排序,移动数据的能力等的ArrayList创建包装器集合的路径。真正的屁股踢球者但是我需要在提交时“保持”行条目的内容和顺序到数据库。
我当前的集合是物理移动对象,因为我不想维护单独的索引列表,因为担心它们会变得不同步。这也是我选择将检索到的和捕获的数据合并为一个对象的原因。
这是正确的方法吗?我确实调查了JSF DataModel,但不确定它是否允许我在当前排序顺序中保存数据就像物理移动元素一样容易。
答案 0 :(得分:0)
物理移动物体是正确的方法,因为元素数量很少超过50行平均值,因此性能不是问题。
由于对象是物理移动的,因此可以依赖列表的自然索引,而无需为需要不断同步的索引维护单独的数据结构。