我在视图面板中显示了这个分类视图,其中未显示类别列本身。相反,我在viewPanel上方显示一个组合框,用户可以在其中选择所有可用的类别(见下面的截图)。组合绑定到scopeVariable并刷新viewPanel onChange。 viewPanel具有从同一scopeVar读取的计算categoryFilter。一切都很好。
现在我还在选择列表中实现了一个额外的通配符(*)值(如果选择),以编程方式将cat过滤器设置为NULL。这样我就强迫viewPanel显示所有条目。再次,这很好,但缺点是现在视图显示空行,其中类别条目将正常显示(在屏幕截图中,您看到每个条目上方的空行,有2个条目,类别“edcom GmbH”显然属于到同一类别;那些没有用空行分隔):
至少隐藏那些空行的一种方法是通过css编码。但我希望那些行根本不被渲染。
这可以使用viewPanel完成,以及如何完成?或者我是否必须使用其他控件,如repeat或dataTable?
提前致谢,
洛萨
答案 0 :(得分:3)
一个“黑客”(我承认这是一个丑陋的)将您的分类列从Firma
更改为Firma:"--All--"
或Firma:"*"
,然后将类别过滤器设置为{{ 1}})。
双重类别会击中索引器,但应该按照您的需要进行操作。
答案 1 :(得分:0)
显然没有简单的方法。所以同时我会坚持这个CSS风格的解决方案:
在视图面板和所有属性 - 数据中我设置了var =“entry”。然后,在All Properties - 样式下,我为rowClasses属性设置了一个编程值:
if(entry.isCategory()){
return "rowStyleHidden";
}
return "";
样式类“rowStyleHidden”使用
隐藏这些行display: none;
不知道性能如何变得明显,一旦我在真实数据库的副本中实现它,我将不得不观察它。
答案 2 :(得分:0)
您还可以通过根据组合框中的值计算视图名称来切换到无分类视图。