2012-02-23 45 views
3

是否有一种简单的方法来改变PrimeFaces选择列表中的排序顺序和移动按钮? 为了更好的可用性我需要的按钮在这个顺序:如何更改primeFaces选择列表按钮的顺序

排序:

all up 
up 
down 
all down 

和移动:

all to the right 
right 
left 
all to the left 

我只是谁实现了虚拟页,有人在一个否则必须作为PrimeFaces组件实现,我在这里设计。所以我不希望它成为程序员不可能完成的任务。

回答

7

没有内置的buttonTemplate功能,你可以用css改变顺序。

代码:

.ui-picklist-button-add { 
    position:relative; 
    top:25px; 
} 

.ui-picklist-button-add-all { 
    position:relative; 
    top:-40px; 
} 

- >这是 '擎天柱' 说。他在Prime Faces论坛上对我的问题的回答为

+0

很好的解决方案,css从来没有我的强大的一面... – Daniel 2012-02-23 13:05:38

+0

你的解决方案肯定会工作,太。但是这个更优雅。 – Chris 2012-02-23 13:21:49

+0

还有更多,这就是我给+1的原因 – Daniel 2012-02-23 13:26:30

1

,你可以尝试用jQuery做这样的:JavaScript moving element in the DOM

使用Firebug找出按键的所有类和容器

例如尝试jQuery(".ui-picklist-target-controls .ui-picklist-button-move-top").insertAfter(".ui-picklist-target-controls .ui-picklist-button-move-top");

如果要修补的primefaces jar看看PickListRenderer.java文件看看他们在哪里使用encodeButton方法,然后重新排序按钮...

虽然你将不得不使用r e每次需要升级时打补丁

+0

并且primeFaces选择列表没有简单的选项可以改变它吗?它真的只是采取组件,或自己写一个?我很困惑,他们认为以其他方式订购按钮更直观。 – Chris 2012-02-23 10:44:23

+1

他们提供的按钮自定义标题和显示/隐藏他们的能力...你可以随时打开一个新的功能票... – Daniel 2012-02-23 10:57:56