2014-04-01 36 views
1

瞬态属性我有一个要求,在该代码使用SQL作为获取ROWNUM属性作为Oracle ADF

Select <COLUMN_LIST>, ROWNUM from <TABLE_LIST_AND_WHERE_CLAUSE>; 

现在我需要从选择列表中删除此ROWNUM,但仍保持功能的属性。

我试过论坛但没有成果。

请建议我可以使用EL或属性来做同样的事情。

在此先感谢

回答

1

在您的表格中添加#{vs.index + 1}以获取行号可以解决您的问题。 vs将会是您的varStatus属性值<af:table>

1

您无法从无处获取列的值。如果从选择查询中删除ROWNUM,则无法再获取其值。如果你只是想将一个名为ROWNUM的属性定义为transient,那么你可以从EL给它一个特定的值,但不是原始的列名,除非你从另一个地方的SELECT中获得该值并将其放在那里。但是,你为什么想要将它删除?如果你不想让它显示在任何地方,你可以改变其显示属性为FALSE,你应该没问题。

+0

由于rownum,SQL执行不良。找到的用法是获得动态行序号。所以想知道是否有任何其他方式来获得动态行序列号,以便我可以提高查询性能 –

+0

我想不出一个解决方案,但我认为你可以在数据库表中添加一列(例如:RID as Number),并在触发器插入时增加它,直到12c不支持自动增量。希望你能弄清楚一些事情。东 –