Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

ASP.NET (VB) Auto Complete Combo box that populates dynamically from SQL, 2000+ entries

Posted on 2009-07-08
3
Medium Priority
?
639 Views
Last Modified: 2012-05-07
Requirements:
- Autocomplete
- Populated from SQL query
- Over 2000 records, must not slow page load time
- Free (either provide code yourself or link to free component/code)
- VB
0
Comment
Question by:Cerixus
3 Comments
 
LVL 3

Expert Comment

by:Kelevra
ID: 24808303
Hi,
the best way to accomplish this, in my point of view is to use the jQuery's autocomplete:
http://www.pengoworks.com/workshop/jquery/autocomplete.htm

wich takes its data from a xml file.

so you make your Db query create your XML file upon it.

then get this autocomplete linked to this freshly made xml.

Done.
$(function() {
    $.ajax({
        type: "GET",
        url: "dbug.xml",
        dataType: "xml",
        success: function(xml) {
 
            /* Count elements */
 
            var count = jXML.getCount(xml,{"Channel":"channel","Item":"item:has(title)","GUID":"guid[isPermaLink]:lt(3)"});
            alert( count["Channel"] + ", " + count["Item"] + ", " + count["GUID"] );
 
            /* Return objects with a specific attribute */
 
            var attribute = jXML.getAttribute(xml,{"GUID":["guid","isPermaLink",null],"Channel":["channel","id",null]});
            alert( attribute["GUID"] + ", " + attribute["Channel"] );
 
            /* Return objects with a specific attribute value */
 
            var attribute = jXML.getAttribute(xml,{"GUID":["guid","isPermaLink","false"],"Channel":["channel","id","channel_1"]});
            alert( attribute["GUID"] + ", " + attribute["Channel"] );
 
            /* Return a number of objects randomized */
 
            var random = jXML.getRandomObj(xml,{"Title":["item:has(title) > title",null],"URL":["item:has(link) > link",3]});
            for (i = 0; i < random["Title"].length; i++) {
                alert( $(random["Title"][i]).text() );
            }
            for (i = 0; i < random["URL"].length; i++) {
                alert( $(random["URL"][i]).text() );
            }
 
        }
    });
});

Open in new window

0
 
LVL 1

Accepted Solution

by:
Cerixus earned 0 total points
ID: 24918767
Ended up using the Ajax autocomplete extender with a web service as seen in this video: http://www.asp.net/learn/AJAX-videos/video-122.aspx
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I recently went through the process of creating a Calendar Control of events with the basis of using a database to keep track of the dates that are selectable, one requirement was to have the selected date pop-up in a simple lightbox.  At first this…
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
Suggested Courses

782 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question