[dba-VB] C# combo boxes

Dan Waters df.waters at comcast.net
Tue Mar 15 08:54:00 CDT 2011


Hi John,

Take a look at www.updatecontrols.net.  This has a free download which
integrates into visual studio and provides a way to simply databinding.  I
haven't used it yet but it looks promising.  Note: At the top of the screens
is a combobox which selects either VB or C# for the code examples.

Dan

-----Original Message-----
From: dba-vb-bounces at databaseadvisors.com
[mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Monday, March 14, 2011 9:13 PM
To: Discussion concerning Visual Basic and related programming issues.
Subject: Re: [dba-VB] C# combo boxes

I got it working.  I had to not only set the properties in the datasource
property dialog of the combo box, but I also had to set the data bindings
properties in the combo, specifically setting the text property there to
NONE.

She's a wurkin.

John W. Colby
www.ColbyConsulting.com

On 3/14/2011 7:59 PM, Jim Lawrence wrote:
> Hi John:
>
> Try and use ADO. It is on every Windows based computer already and 
> requires no additional ODBC to be setup. In other words, you do not 
> even have to see the computers on which the application is going to have a
sable connection.
>
> Jim
>
>
>
> -----Original Message-----
> From: dba-vb-bounces at databaseadvisors.com
> [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby
> Sent: Monday, March 14, 2011 3:25 PM
> To: Discussion concerning Visual Basic and related programming issues.
> Subject: Re: [dba-VB] C# combo boxes
>
> I am trying (unsuccessfully) to do an "Access like bound form".
>
> And I always comment.  ;)
>
> ATM the form displays the values if dropped down, but if not dropped 
> down it just displays an integer (the PKID of the data in the combo is 
> my guess, or perhaps the PKID in the field in the form.
>
> So...
>
> How do I cause the combo to display Paul's name instead of 6.
>
> John W. Colby
> www.ColbyConsulting.com
>
> On 3/14/2011 6:15 PM, Gustav Brock wrote:
>> Hi John
>>
>> Eh, are you commenting or? Not quite clear to me. I thought you were
> looking for some code samples ...
>>
>> I have connections too but I use them only to feed the datatableadapters.
> I refrain from working with SqlCommand and the like; waste of time in 
> my opinion.
>>
>> /gustav
>>
>>
>>>>> jwcolby at colbyconsulting.com 14-03-2011 22:36>>>
>> Thanks Gustav,
>> I don't know why you are taking me into code in code.
>>
>> I have data connections.  This particular data connection has a 
>> single
> view that allows me to write
>> into a table.  It has a view that filters a combo.
>>
>> I drag and drop the view for the table onto the form.  I have told 
>> that
> table object that specific
>> fields are combos so when I drag it out, I have combos (for the FKs - 
>> PKs
> from other tables).  I am
>> trying to set up that combo to
>>
>> 1) Display a text value
>> 2) Contain the PKID from the table the combo draws from
>> 3) When I select an item, place the selected ID into the field the 
>> combo
> is bound to.
>>
>> It seems this is a normal daily requirement in building forms, and
> shouldn't be rocket science (or
>> going into code).
>>
>> Actually I have a kinda sorta related question.
>>
>> When I look at server explorer I see a data connection object, 
>> however
> there are two objects
>> underneath, neither of which are for this solution.  Furthermore the
> objects under the data
>> connection are things found on an entirely unrelated server, for 
>> other
> projects that I did work on
>> in the past.
>>
>> The question then is why is the server explorer choosing to display
> objects out on a virtual machine
>> instead of the database that was originally selected for this solution?
>>
>> We have done a ton of coding sql server stuff here but we have not 
>> yet
> learned how to do this bound
>> form stuff.
>>
>> I am trying to build a timeclock kind of thing.  Very simple, a few 
>> combos
> to select (default values
>> in most cases) the developer, the product, the type of work, then a 
>> couple
> of fields for date time
>> values for start / stop work.  The table the data is going into has a 
>> few
> thousand records already
>> in it, the combos pull from tables with 20-30 records etc.  It seems 
>> (to
> me) that just using bound
>> forms is a natural for this.
>>
>> A long time ago I made this (kind of thing) work.  I remember that 
>> getting
> the properties of the
>> combo set correctly was non-intuitive but once I figured it out it 
>> just
> worked.
>>
>>
>>
>> John W. Colby
>> www.ColbyConsulting.com
>>
>> On 3/14/2011 3:02 PM, Gustav Brock wrote:
>>> Hi John
>>>
>>> If you (typically) have this in InitializeComponent() of the 
>>> .Designer.cs
> file:
>>>
>>>                // comboBoxCountry
>>>                //
>>>                this.comboBoxCountry.AutoCompleteMode =
> System.Windows.Forms.AutoCompleteMode.Suggest;
>>>                this.comboBoxCountry.AutoCompleteSource =
> System.Windows.Forms.AutoCompleteSource.ListItems;
>>>                this.comboBoxCountry.BackColor =
> System.Drawing.Color.LavenderBlush;
>>>                this.comboBoxCountry.DataBindings.Add(new
> System.Windows.Forms.Binding("SelectedValue", this.mediaBindingSource, 
> "CountryId", true));
>>>                this.comboBoxCountry.DisplayMember = "Id";
>>>                this.comboBoxCountry.FlatStyle =
> System.Windows.Forms.FlatStyle.Flat;
>>>                this.comboBoxCountry.Font = new 
>>> System.Drawing.Font("Segoe
> UI", 8F, System.Drawing.FontStyle.Regular, 
> System.Drawing.GraphicsUnit.Point, ((byte)(0)));
>>>                this.comboBoxCountry.ForeColor =
> System.Drawing.Color.DarkMagenta;
>>>                this.comboBoxCountry.FormattingEnabled = true;
>>>                this.comboBoxCountry.ItemHeight = 13;
>>>                this.comboBoxCountry.Location = new
> System.Drawing.Point(21, 136);
>>>                this.comboBoxCountry.Name = "comboBoxCountry";
>>>                this.comboBoxCountry.Size = new 
>>> System.Drawing.Size(117,
> 21);
>>>                this.comboBoxCountry.Sorted = true;
>>>                this.comboBoxCountry.TabIndex = 7;
>>>                this.comboBoxCountry.ValueMember = "Id";
>>>
>>> You can do something like this in the Load event:
>>>
>>>                this.comboBoxCountry.SelectedValueChanged += (oo, ee) 
>>> =>
> ChangeCountrySelection();
>>>
>>> Then:
>>>            private void FillComboBoxCountryCode()
>>>            {
>>>                // Order the country names of countryDataTable.
>>>                string filterExpression = "";
>>>                string sortExpression = "CountryNameUK asc";
>>>                DataRow[] countryList =
> _countryDataTable.Select(filterExpression, sortExpression);
>>>
>>>                this.comboBoxCountry.DataSource = countryList;
>>>                this.comboBoxCountry.ValueMember = "Id";
>>>                this.comboBoxCountry.DisplayMember = "CountryNameUK";
>>>            }
>>>
>>> And:
>>>            private void ChangeCountrySelection()
>>>            {
>>>                if (this.comboBoxCountry.SelectedValue != null)
>>>                {
>>>                    _countryId =
> Convert.ToInt32(this.comboBoxCountry.SelectedValue);
>>>                    this.comboBoxPostalCode.Text = String.Empty;
>>>                    // Read postal codes of selected country.
>>>                    FillComboBoxPostalCode();
>>>                }
>>>            }
>>>
>>> This is pretty standard using tableadapters and bindingnavigator. 
>>> Nothing
> fancy.
>>>
>>> /gustav
>>>
>>>
>>>>>> jwcolby at colbyconsulting.com 14-03-2011 19:16>>>
>>> I am trying to set up a combo box bound to a field in the form such 
>>> that
> the combo populates with
>>> the PKID and a text field, and when the form opens, selecting 
>>> something
> from the combo drops the
>>> PKID into the field in the form.
>>>
>>> I am not getting what to set the properties of the combo box to.  I 
>>> am
> pulling the ID and the string
>>> to display into the combo but I cannot cause the combo to store the 
>>> id
> and release control to the
>>> next control on the form.
>>
>> _______________________________________________
>> dba-VB mailing list
>> dba-VB at databaseadvisors.com
>> http://databaseadvisors.com/mailman/listinfo/dba-vb
>> http://www.databaseadvisors.com
>>
>>
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
>
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
>
>
_______________________________________________
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