This question has been flagged
2 Replies
9599 Views

Can anybody please tell me how to do pagination and sorting of fields in jasper reports in OpenERP

Avatar
Discard
Best Answer

you can sort the fields when passing from the function generate_records, like...

result = sorted(result, key=lambda d: (d['delivery_date'],d['partner']))

and then pass the sorted result

Avatar
Discard
Author

what we are doing is html format report so...my boss need dynamic sorting when report appear,a link to sort when clicking the report ,report should sort...like that Thanks,

Best Answer

For enabling pagination, Add the below method in your python report parser

def generate_parameters(self, cr, uid, ids, data, context):
        if data['report_type']=='xls':
            return {'IS_IGNORE_PAGINATION':True}
        return {}

And then to sort the list of dictionaries, there are two methods. One is in the above mentioned answer by Ashif Abdulrahman and the other one is using itemgetter.

from operator import itemgetter

and then to sort a list of dictionaries,

list_1 = sorted(list_1, key=itemgetter('key_1','key_2','key_3',.......))

where list_1 is the list of dictionaries which you obtained during the output of the parser, key_1,key_2, ..are the keys of the dictionaries in that result list list_1.

Avatar
Discard
Author

Thanks Abhishek