Hi, I have an arraylist, which contains lists of customzied objects
for example ( TPerson )
some properties in the object, link to another object
for example
(TPerson.detail, it will query a record from other table)
However, when i bind arraylist as Datasource
it seems try to get all values also the refereal values (maybe using object persistence), which makes it slow
I use the same object in Grid and it doesn't show that behaviour
any suggestions?
for example ( TPerson )
some properties in the object, link to another object
for example
(TPerson.detail, it will query a record from other table)
However, when i bind arraylist as Datasource
it seems try to get all values also the refereal values (maybe using object persistence), which makes it slow
I use the same object in Grid and it doesn't show that behaviour
any suggestions?
4 Answers, 1 is accepted
0
Hi Leon,
In order to help you with this issue, we need to examine your report and its data source objects. Please open a support ticket and attach all files packed in an archive (zip). Once we review it we would be able to provide more info on the matter.
Kind regards,
Svetoslav
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
In order to help you with this issue, we need to examine your report and its data source objects. Please open a support ticket and attach all files packed in an archive (zip). Once we review it we would be able to provide more info on the matter.
Kind regards,
Svetoslav
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
0

Leon
Top achievements
Rank 1
answered on 15 May 2008, 02:30 AM
It is very hard to demostrate the problem in real case
I think it's more to do with the efficiency then anything else
basically, what happen is that in a clas like
class TPerson
readonly propery Name as string
return "ABC"
end property
readonly property OccupationString as TOccupation
'Requery from other table to get the class
end property
end clas
and we can get Arraylist of TPerson
when the Report only need the Name but not OccupationString
we can define as
=Field.Name
but the report Engine still try to gather OccupationString
I have wrote a function to convert Arraylist to Datatable, then it's fine
but it losses efficency by quite huge, because looping and checking what's "local" and what "referel"
any suggestions?
I think it's more to do with the efficiency then anything else
basically, what happen is that in a clas like
class TPerson
readonly propery Name as string
return "ABC"
end property
readonly property OccupationString as TOccupation
'Requery from other table to get the class
end property
end clas
and we can get Arraylist of TPerson
when the Report only need the Name but not OccupationString
we can define as
=Field.Name
but the report Engine still try to gather OccupationString
I have wrote a function to convert Arraylist to Datatable, then it's fine
but it losses efficency by quite huge, because looping and checking what's "local" and what "referel"
any suggestions?
0
Hi Leon,
If I understand correctly, the getter of the OccupationString property performs a very intensive operation. The Telerik Reporting data processing engine scans with reflection all the available properties and prepare for any further calculations (grouping, filtering, sorting, item binding expressions - if any) which seems to be the reason for slower report processing. The only way to speed up the process is if you avoid performing such a heavy operation in the public properties' getters.
Anyway I will log this in our bug tracking system and we will investigate further, while working on the processing engine of Telerik Reporting.
Best wishes,
Svetoslav
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
If I understand correctly, the getter of the OccupationString property performs a very intensive operation. The Telerik Reporting data processing engine scans with reflection all the available properties and prepare for any further calculations (grouping, filtering, sorting, item binding expressions - if any) which seems to be the reason for slower report processing. The only way to speed up the process is if you avoid performing such a heavy operation in the public properties' getters.
Anyway I will log this in our bug tracking system and we will investigate further, while working on the processing engine of Telerik Reporting.
Best wishes,
Svetoslav
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
0

Leon
Top achievements
Rank 1
answered on 16 May 2008, 01:45 AM
Yes, You have got my problem correctly!
I am currently convert Arraylist of Object to Datatable manually (using reflection to check the type), which will slow down especially there are more than 1000 records
anyway, waiting for your improvement :)
I am currently convert Arraylist of Object to Datatable manually (using reflection to check the type), which will slow down especially there are more than 1000 records
anyway, waiting for your improvement :)