[dba-VB] Combo box

William Hindman wdhindman at dejpolsystems.com
Sat Apr 28 01:55:48 CDT 2007


...sigh ...shakes head ...closes "VB.Net for Dummies" ...mumbles to self, 
what in the heck is the world coming to when there is no such thing as a 
simple d&d combo available ...y'all give me a headache, you do ...turning 
off the lights :(

William Hindman

----- Original Message ----- 
From: "Eric Barro" <ebarro at verizon.net>
To: <dba-vb at databaseadvisors.com>
Sent: Saturday, April 28, 2007 2:14 AM
Subject: Re: [dba-VB] Combo box


> This is my snippet of code should give you an idea...it is however in C# 
> and
> specific to ASP.NET (web-based). It should be fairly easy to port it over 
> to
> VB.NET and change a couple of lines to be Win32 specific.
>
> The function is a public method stored in my Data class...
>
> public static int BindDropDownList(DropDownList ddl,
> string sql, string sqlConnect, Hashtable
> sqlParameters,
> string ddlTextField, string ddlValueField, bool
> showDefaultSelection)
> {
> DataSet sqlDs;
>
> //count of records returned
> int totalRecords;
> //grab the connection string
> string ConnectionString =
> ConfigurationSettings.AppSettings.Get(sqlConnect);
> //define and initialize the connection object
> SqlConnection sqlConn = new
> SqlConnection(ConnectionString);
> //define and initialize the command object
> SqlCommand sqlCmd = new SqlCommand(sql, sqlConn);
> //define the command type
> sqlCmd.CommandType = CommandType.StoredProcedure;
>
> if (sqlParameters.Count > 0)
> {
> //get a collection of the keys
> ICollection sqlParams = sqlParameters.Keys;
> foreach (string key in sqlParams)
> {
> // add parameters to pass to the
> sproc
> sqlCmd.Parameters.Add(new
> SqlParameter(key, sqlParameters[key].ToString()));
> }
> }
> //open the connection
> sqlConn.Open();
> //define the data adapter
> SqlDataAdapter sqlDa = new SqlDataAdapter();
> //define the select command
> sqlDa.SelectCommand = sqlCmd;
> //initialize the dataset
> sqlDs = new DataSet("MyList");
> //fill the dataset
> sqlDa.Fill(sqlDs, "MyList");
> //define a session variable containing our dataset
> System.Web.HttpContext.Current.Session["MyList"] =
> sqlDs;
> //grab the total number of records returned by the
> sproc
> totalRecords = sqlDs.Tables[0].Rows.Count;
> if (totalRecords > 0)
> {
> if (showDefaultSelection)
> {
> DataRow newListRow =
> sqlDs.Tables[0].NewRow();
> //this is the value that shows on
> the dropdownlist
> //specify an option that will be the
> default selection
> newListRow[ddlTextField] = "--Please
> select one--";
> //this is the value that will be
> posted to the database
> newListRow[ddlValueField] = 0;
> //add the new row
>
> sqlDs.Tables[0].Rows.Add(newListRow);
> //specify a sort order based on
> ddlValueField; this ensures that the newly added row will show up at the 
> top
> sqlDs.Tables[0].DefaultView.Sort =
> ddlValueField;
> }
> //close the connection
> ddl.DataSource =
> sqlDs.Tables[0].DefaultView;
> ddl.DataTextField = ddlTextField;
> ddl.DataValueField = ddlValueField;
> ddl.DataBind();
> sqlConn.Close();
> }
> return totalRecords;
> } //end BindDropDownList
>
>
> This is how I call it...
>
> Data.BindDropDownList(uxZipCodeList, sql, connectionString, sqlParameters,
> "ZipCity", "ZipCode", true);
>
> ZipCity is what I use to display in the dropdownlist and ZipCode is what I
> use to lookup and store values. I believe this is referred to as
> DisplayMember and ValueMember in Win32 comboboxes.
>
> In my SQL stored procedure I simply make sure that ZipCity is concatenated
> with whatever value I want to show in the dropdownlist.
>
>
>
> -----Original Message-----
> From: dba-vb-bounces at databaseadvisors.com
> [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of JWColby
> Sent: Friday, April 27, 2007 10:35 PM
> To: dba-vb at databaseadvisors.com
> Subject: [dba-VB] Combo box
>
> I am running into the issue of how to display multiple lines in a combo 
> box.
> IIRC this is a "no can do" in the combos in VB.Net but there must be 
> common
> workarounds.
>
> For example I need to allow the user to select a zip code, but he really
> needs to see the zip AND the city.  Furthermore my code is going to need 
> to
> load a record based on that zip code to get lat/long.
>
> So, is there a way other than using a concatenation of the zip and the 
> city
> to display both in the combo?  If I do a concatenation, then I can no 
> longer
> use the zip to lookup a record in a recordset since it now has city data 
> in
> the string.
>
> John W. Colby
> Colby Consulting
> www.ColbyConsulting.com
>
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.467 / Virus Database: 269.6.1/777 - Release Date: 4/26/2007
> 3:23 PM
>
>
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
>
> 






More information about the dba-VB mailing list