我的查询返回location_cd(字符串)和item_count(int)。我只需要结果中的某些行,然后我需要它们显示在我的布局中的特定位置,所以我不认为表解决方案会起作用。我可以确定将值放在结果集的特定行的位置吗?
我正在使用网格来显示许多字段的值。我似乎无法从结果中获取值来显示。网格绑定到结果集。我甚至尝试将单元格绑定到结果集,但这也不起作用。
我在查询编辑器中检查了预览中显示的结果集,所以我知道查询有效。完整正确的结果集显示我是否在页面上放置了一个表格。
我尝试在单元格中插入动态文本或数据对象并使用表达式:
dataSetRow["location_cd"]=="3SD"?dataSetRow["item_count"]:""
这会返回一个空白,似乎没有评估。我测试了它:
dataSetRow["location_cd"]=="3SD"?dataSetRow["item_count"]:"BLANK"
并且'BLANK'出现在那个单元格中。
dataSetRow [“location_cd”]和dataSetRow [“item_count”]将显示结果集第一行中的location_cd和item_count。 row.outer []做了同样的事情。显然我现在只是在攻击这份报告。
一位同事建议她在这样的地方使用JAVA if语句,但我也无法使用它。
任何可以让我走上正确道路的想法或建议?
由于
答案 0 :(得分:2)
一个优雅的选择是使用存储数据集结果的HashMap。
vars["values"].put(row["location_cd"],row["item_count"]);
vars["values"].get("myFavoriteLocationCD");
虽然重要的是要注意数据集应该由报告在这些数据元素之前触发。
答案 1 :(得分:1)
您要显示的特定行在网格内的“文本”字段中指定。只需在网格中拖放“文本”字段即可。如果将要显示的字段绑定到网格,则网格内的“文本”字段将继承其父级(网格)的绑定,因此您可以在“文本”字段中自动访问绑定。
您可以尝试以下步骤,也许这样做。
<value-of format="HTML"> your code goes here... </value-of>
注意:如果能够访问绑定到网格的字段,则应检入“文本”字段的“表达式构建器”。如果它们不可用......你的绑定出了问题。避免将查询记录绑定到单元格,这会让你发疯。
如果要显示列表,请确保未在网格行中设置恒定高度。将高度设置为100%,而不是行动态高度。
优化查询的想法是什么,只显示您想要的结果,而不需要使用java脚本过滤它们?如果您不需要在其他地方使用过滤结果,我认为这将是更清晰的解决方案。