O único enfoque que funciona tanto para JSON quanto para o Modelo OData é passar pelo link:
oTable.getBinding("items").getLength()
Se você tem um Modelo JSON, isso retornará o mesmo que oModel.getProperty("/data/items").length (assumindo que este é o caminho de link para sua agregação de elementos). Se você tem um Modelo OData, retornará o número de registros potencialmente disponíveis. Lembre-se de que o Modelo OData gerencia apenas um fragmento dos dados reais no cliente e carrega qualquer outro dado sob demanda. Portanto, se houver 300 pedidos de venda no Backend e o cliente atualmente tiver apenas os primeiros 100 registros, a abordagem anterior continuará retornando 300.
Em uma nota lateral: É altamente provável (e você deve) trabalhar com solicitações assíncronas. Isso significa que os dados podem não estar necessariamente lá em onAfterRendering. Parece que você deseja acionar uma ação quando os dados forem recebidos pelo cliente. Para isso, investigue os eventos dataChange ou dataReceived da classe Binding. Você também pode se apegar a esses eventos através de oTable.getBinding("items").
- Max