I have a page with several WebDropDowns that contain different criteria the user can select for a report.
Several of these dropdowns are filled from the user's database and I'm running into an issue with one of our users who has over 100K records in some of these tables.
Lets look at 1 dropdown in particular:
<ig:WebDropDown ID="checkCustomDegree" runat="server" CssClass="ddl0 fontSmall" DisplayMode="DropDown" EnableLoadOnDemand="true" Enabled="true" EnableClosingDropDownOnSelect="false" EnableMultipleSelection="true" MultipleSelectionType="Checkbox" DropDownContainerHeight="200px" DropDownAnimationType="EaseIn" NullText="DEGREES..." Font-Size="Small" Width="90%" DropDownContainerWidth="250px" EnableDropDownAsChild="false"> </ig:WebDropDown>
I have enabled LoadOnDemand to try to keep the page from taking over a minute to load and that worked. However, it only load the first 20 or 30 records. My understanding is that when I scroll down to the bottom of the screen it should load more, but nothing happens when I hit the bottom of the page.
I also tried removing LoadOnDemand and instead adding paging:
<ig:WebDropDown ID="checkCustomDegree" runat="server" CssClass="ddl0 fontSmall" DisplayMode="DropDown" EnablePaging="true" PageSize="30" PagerSettings-PagerMode="NextPreviousFirstLast" Enabled="true" EnableClosingDropDownOnSelect="false" EnableMultipleSelection="true" MultipleSelectionType="Checkbox" DropDownContainerHeight="100" DropDownAnimationType="EaseIn" NullText="DEGREES..." Font-Size="Small" Width="90%" DropDownContainerWidth="250px" EnableDropDownAsChild="false"> </ig:WebDropDown>
In this case it loads 30 rows, I scroll to the bottom of the screen and I do not see any paging controls.
I am filling the list and setting the datasource at run-time with this code:
query = "SELECT DISTINCT(degree) FROM PROSPECTSdegrees ORDER BY degree"
dh.SelectData(query)
checkCustomDegree.TextField = "degree" checkCustomDegree.ValueField = "degree" checkCustomDegree.DataSource = dh.Ds.Tables(0)
What options do I have to get this page loading in a reasonable amount of time? I just learned I need to add one more table for this user that has 131,000 rows, so I'm going to need some kind of solution to work.
Hi, Matt.
I'm currently investigating your scenarios. Here are demos for paging and load on demand. There is a problem with loading on demand, I just need some time to locate the problem. When I have more information I will share with you and eventually log a bug. For paging, you can check if you will find valuable information for your case. I will wait for your feedback!
Best regards,
Nikolay Alipiev
Software Developer
I'll look at the demos again and see if I can find something I missed.
For now I've just programmed it to look at the number of rows. If it's over 1000 I swap divs to show a button that will load that dropdown. If they don't need it they leave it a button for that run.