2012-07-25 64 views
0

我有这种分类视图显示在类别列本身不显示的视图面板。相反,我在viewPanel上方显示了一个组合框,用户可以从所有可用的类别中进行选择(请参见下面的屏幕截图)。该组合绑定到scopeVariable并刷新viewPanel onChange。 viewPanel从相同的scopeVar中读取计算出的categoryFilter。这一切都很好。如何防止一个viewPanel类别筛选器显示空行,如果没有设置筛选器

现在我也已经实现了其中(如果选择)编程设置过滤器猫为NULL选择列表中的附加通配符(*)值。这样我强制viewPanel显示所有条目。再次,这工作正常,但缺点是现在视图显示空行,其中类别条目将正常显示(在屏幕截图中,每个条目上方显示空行,“edcom GmbH”类别显然属于2个条目到同一类别;那些不是由一个空行分隔):

enter image description here

一到至少隐藏这些空行。将通过CSS编码的装置的方法。但我更喜欢那些行根本不被渲染。

这可以在所有使用viewPanel完成,以及如何?或者我必须使用其他控件,如重复或dataTable?

由于提前,

洛萨

回答

3

一“黑客”(难看我承认),将您的分类列改变从FirmaFirma:"--All--"Firma:"*",然后,而不是设置类别过滤器, NULLyou set it to "--All--"(或“*”)。

双重类别命中索引器,但应该做你需要的。

+0

+1正是我通常做的。但是,多分类列和getAllEntriesByKey方法存在性能问题,tho – 2012-07-26 06:40:47

+0

感谢Stephan,我想到了这个解决方案,但不知怎的,我不太喜欢它。除非有其他方法,否则我会保留原样,只需添加一些自定义CSS;看到我自己的回答 – 2012-07-26 10:21:25

+0

在你的网页上 - 这就是为什么我称它为黑客 – stwissel 2012-07-28 02:15:08

0

显然没有简单的方法。所以,那时我会坚持这个CSS样式的解决方案:

在视图面板UND所有属性 - 数据我设置VAR =“项”。然后,在所有物业 - 造型我设定程序上的价值,为rowClasses属性:

if(entry.isCategory()){ 
    return "rowStyleHidden"; 
} 
return ""; 

样式类“rowStyleHidden”隐藏的行使用

display: none; 

还不知道如何证明在性能方面,我必须在实际数据库的副本中实现它时观察这一点。

0

您也可以通过根据组合框中的值计算视图名称来切换到未分类视图。