Review: DbCombo
page 1 of 1
Published: 03 Jan 2005
Unedited - Community Contributed
Abstract
If you have ever tried loading a large number of records into a drop down box you know that this can significantly slow down the page. A great solution is DbCombo (www.dbcombo.com).
by Web Team at ORCS Web
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 7737/ 17

If you have ever tried loading a large number of records into a drop down box you know that this can significantly slow down the page. A great solution is DbCombo (www.dbcombo.com). DbCombo is a managed ASP.Net control that uses a data source to auto complete and display matching results in a drop-down box without using a page post back.

The data is provided from the datasource dynamically so you can virtually have an unlimited number of results returned. This is all done without sacrificing the speed of your application. Can you imagine loading 100,000 records into a standard box? It is virtually impossible but DbCombo can easily handle this and it's literally done in a matter of seconds.

If you have visitors that use your site with older browsers there is no need to be concerned about compatibility. DbCombo gracefully degrades to HTML 3.2 on older browsers without losing any functionality. In the degraded state a post back is necessary but it all happens dynamically without having to write additional code.

For the advanced developer DbCombo contains over 40 properties. There are also numerous JavaScript functions that allow you to interact with DbCombo on your page and do things like easily get the selected text or reset the control. These properties and functions allow the component to be easily customized for a variety of needs.

DbCombo is easy enough to use that even casual developers can incorporate it into their site and it only takes a small amount of code to get it working. Here's a simple example of how to include this powerful control in your page.

First you need to create a file called DbComboServer.aspx and place it in the root of your site or application. This file is needed in order for DbCombo to work properly and is in addition to the page(s) that you are going to actually use DbCombo on. Delete anything from the file that might have been automatically generated from your editor and replace it with the following:

<%@ Page AutoEventWireup="false" Inherits="Cambro.Web.DbCombo.ServerPage" %>

Important: The above line is the only thing that should be in that file. If your editor created a code behind page for DbComboServer.aspx you can also delete that. It isn't used or needed.

Next you need to ensure that DbCombo will work on the production server. Add the following inside the tag of your web.config and replace REGISTRATION KEY with the one you were provided. If you are testing locally on your development machine you can leave this as is or leave the registration key blank.

<appSettings file="user.config"> 
<add key="DBComboKey" value="REGISTRATION KEY" /> 
</appSettings>

If you happen to have a hosting provider that provides the license key
already, you don't need to add this to web.config. ORCS Web (
www.orcsweb.com) provides dbcombo at no charge for all shared hosting accounts so it isn't necessary to add this to your web.config. The component along with the .xml file also needs to be uploaded to the /bin folder of the site. If your site is hosted with a hosting company they can place these files into your /bin folder for you.

At the top of the page where you are going to use DbCombo, you need to add
the following lines:

<%@ Register TagPrefix="DbCombo" Namespace="Cambro.Web.DbCombo" 
Assembly="Cambro.Web.DbCombo" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>

Add the following between the <head></head> tags of the page to add a Server Method. Make sure you change the connection string and query to reflect your settings as indicated in the comments below.

<script runat="server">
<Cambro.Web.DbCombo.ResultsMethodAttribute(True)> _
Public Shared Function DbComboMethod(ByVal args As
 Cambro.Web.DbCombo.ServerMethodArgs) As Object 


Dim dsDbCombo As DataSet = New DataSet 


'Update the below with your connection string:
Dim conn As SqlConnection = _
New SqlConnection("server=localhost;uid=username;pwd=password;database=databasename") 


Dim adapter As SqlDataAdapter = New SqlDataAdapter 


'Update the below with your SQL Statement 
'name is the column from where you are getting the records 
'comboID is the primary key needed to reference the selected value
'dbcombo is the name of the table
adapter.SelectCommand = New SqlCommand("SELECT TOP " & args.Top.ToString() & "
name AS DbComboText, comboID AS DbComboValue FROM dbcombo ORDER BY name", conn) 


adapter.Fill(dsDbCombo) 


conn.Close() 


Return dsDbCombo 


End Function Protected Sub DbComboOnInit(ByVal sender 
As Object, ByVal e As EventArgs) 


Dim ComboBox As DbCombo = CType(sender, DbCombo) 


'Get the registration key from the configuration file 
ComboBox.RegistrationKey =
System.Configuration.ConfigurationSettings.AppSettings("DBComboKey") 
'The following are some of the options you can set for DbCombo
ComboBox.ShowDbComboLink = False 
ComboBox.SelectSingleItemOnTab = True 
ComboBox.SelectSingleItemOnEnter = True 
ComboBox.TabToNextFieldOnEnter = True 
ComboBox.Debug = False 


End Sub 
</script>

Add the following to place an instance of DbCombo wherever you desire on the page: Note: Since this is an ASP.Net component it needs to be inside of the following tag.

<form runat="server"></form>


<DBCOMBO:DBCOMBO OnInit="DbComboOnInit" id="Combo1" runat="server"></DBCOMBO:DBCOMBO>

You now have a functioning DbCombo control on your page. You should install the latest version on your development machine to test with before uploading it to a live production server. You can get the latest here: http://www.dbcombo.com/download.aspx. The download includes over 15 various demos and tutorials along with a comprehensive help file and a user manual. The manual is thorough and includes code samples in VB.Net and C# to get you up to speed quickly.

By Rick Barber, a support specialist with ORCS Web, Inc. - a company that provides managed hosting services for clients who develop and deploy their applications on Microsoft Windows platforms.



User Comments

Title: One of many   
Name: Experienced shopper
Date: 2006-08-23 3:22:56 PM
Comment:
This seems less like a review and more like a tutorial/sales pitch :)

Seriously, though, there are many other combobox controls on the market, most of which support Firefox and have a greatly enhanced feature set.

Easylistbox, telerik's r.a.d. combo, and even EBA Webcombo (to name a few) have been around for years and seem to offer better browser support and more features.

Product Spotlight
Product Spotlight 





Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2020 ASPAlliance.com  |  Page Processed at 2020-09-24 10:44:56 PM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search