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 > >