> Your application design and the size of your persistent classes play a
> vital role in your search for performance also. Let me explain, if you are
> bringing back an XPCollection with 5000 objects then it's going to suffer
> and anyone will tell you that bringing back this amount of data is usually
> overkill and un-necessary.
I like to use LookupEdits and GridLookups so the "filter" or criteria is
dynamic. I tested this concept with over 100,000 records and the performance
was great, so 5000 records seems trivial. However, I do believe there are
many option available with Xpo that can dramatically effect performance.
1. Are the lookups populated using a read-only fetch?
2. Is the session trying to update schema?
3. As you mentioned , use criteria (and paging)- for me the performance
degraded after 100,000 records, yet I can think of no real-life scenario
where so many records should ever be retrieved for editing a record or
building selection./ filter lists. Of course, reports will use this many
records, but that is expected and a different issue. I do what you suggest
by adding pre-filled and alterable filters wherever so many records could be
returned. Such as filtering invoices by the current user's ID and/ or Role,
filtering Customers by location, by the user assigned, etc. There always is
some form of criteria that makes perfect sense to limit the collection to a
reasonable number and then offer some form of lookup. On those rare
occasions when the user wants to search ALL records, offer a popup form with
various selectable criteria and a "search" button. I have found that users
love a GridLookup in combination with a broad filter as I described as
the"default".
Trevor
"Geoff Davis" <davis_geoff@btinternet.com> wrote in message
news:452bee76$1@news.devexpress.com...
> Hi Erick,
>
>> Are you using WinForms for this application?
>
> Yes I am.
>
>> What about the XPO performance over the internet, is it good?
>
> I'm currently working on this one... I think it is acceptable for my
> application so far but there is always room for improvement. I won't go
> deep into server, latency, etc... I will assume that you already know that
> these play a part in performance over the internet.
>
> Your application design and the size of your persistent classes play a
> vital role in your search for performance also. Let me explain, if you are
> bringing back an XPCollection with 5000 objects then it's going to suffer
> and anyone will tell you that bringing back this amount of data is usually
> overkill and un-necessary. What I tend to do is offer no data to the user
> unless they ask for it by means of search criteria and this works for me.
> IMO all multi-user application should be written this way if they don't
> already :-). There is a downside to this though and that is a slightly
> labourious task for your users who have to click and type more to get what
> they want. Hey, you get nothing for nothing!
>
> I'm already in discussion on another thread looking at CustomSinks with
> .NET Remoting to compress and uncompress the data on route and this will
> greatly increase the speed for me further.
>
> This is just my personal experience thus so far and others may be able to
> add or correct me as and when necessary.
>
> Geoff.
>
> "Erick Sasse" <esasse.remove@nospam.yahoo.com.br> wrote in message
> news:452be286$1@news.devexpress.com...
>> Geoff Davis wrote:
>>
>>> I'm developing a .NET application at the moment that will work as a
>>> single user, multi user over the LAN or indeed the internet using
>>> .NET Remoting. XPO does all of the grunt DB work for me so I can
>>> concentrate on my code.
>>
>> Are you using WinForms for this application?
>> What about the XPO performance over the internet, is it good?
>>
>> Thanks Geoff, your comments are very helpful.
>>
>> --
>> Erick Sasse
>
>